Visual Studio 2012 Network Shares
Asked Answered
V

1

6

I emulate Windows 8 on a VM using Parallels. I store all of my developer projects on my Mac's partition for simplicity and coherence.

When I try to build an app (Visual Studio 2012) running off this network share, I get the following compile-time error:

Error 1 Error : DEP0700 : Registration of the app failed. Rejecting a request to register from file:///Z:/Users/MY_USER_NAME/Sites/App1/App1/bin/Debug/AppX/AppxManifest.xml because the files are on a network share. Copy the files to the local computer before registering the package. (0x80073cf9) App1

Does anyone know how to solve this issue? I need to tell Visual Studio 2012 that my network share is a trusted device, or at least dupe it into thinking the project is in a local drive. Is there anyway to create symbolic links in Windows?

In Visual Studio 2010, I solved this issue as outlined on this website: http://www.sehajpal.com/index.php/2010/10/how-to-solve-loadfromremotesources-error-in-vs-2010/

Thanks for the help!

Verdie answered 8/10, 2012 at 17:44 Comment(3)
Does the same not work for VS 2012?Arguelles
Your milage will vary depending on what type of app you are developing. In my case, I was developing a Windows 8 metro app. When compiling the app, Windows signs the app, allowing it to be implicitly installed. Because of security issues, this does not work if you are running off a network share. Check the link I posted below if you have any concerns. The quick solution is to tell Windows you are running the app. remotely.Verdie
Simple answer in #12127418. Confirmed to work in VS2017.Schwing
V
14

This post by Gearard Boland solves this issue. Hopefully this comes in handy for anyone else developing over a network share:

Yes, it's by design that you cannot run a Metro app from a network drive and deployment from Visual Studio essentially registers the app with the system without actually packaging and installing it (so it doesn't get put into the normal install location, which is local).

You can still work with sources on a network drive, but you'll have to override the deployment location, which by default is under the project's root directory (e.g. bin\). You have several options:

  1. You can switch from local debugging to remote debugging and set the machine name as 'localhost'. This will do a remote deployment on your local machine (thus not using the project's directory). You don't need to install the Remote Debugger tools, nor start msvsmon for this to work on localhost.
  2. You can override the project's output directory. Right-click on the project and change the output directory to something like: $(Temp)\$(MSBuildProjectName)\bin\$(Configuration), where Temp is an environment variable pointing to your Temp directory.
  3. If you still want normal output to live next to the sources, e.g. when you build the appx package, etc., you can override only the layout directory instead of the entire output path. For this you'll need to modify your project file directly (e.g. *.jsproj, *.csproj, ...) to add the new value:

     <PropertyGroup>
        <LayoutDir>C:\WorkingFolder\$(MSBuildProjectName)\$(Configuration)</LayoutDir>
     </PropertyGroup>
    

Hope that helps.

Verdie answered 8/10, 2012 at 18:10 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.