Visual Studio 2012网络共享

问题描述:

我使用Parallels在虚拟机上模拟Windows 8。为了简化和一致性,我将所有开发人员项目存储在Mac分区中。Visual Studio 2012网络共享

当我尝试建立一个应用程序(的Visual Studio 2012)流失这个网络共享,我得到以下编译时错误:

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

有谁知道如何解决这个问题呢?我需要告诉Visual Studio 2012我的网络共享是一个可信的设备,或者至少让它认为项目在本地驱动器中。无论如何要在Windows中创建符号链接?

在Visual Studio 2010中,我解决了这个问题,因为概述本网站上:http://www.sehajpal.com/index.php/2010/10/how-to-solve-loadfromremotesources-error-in-vs-2010/

感谢您的帮助!

+0

做同样不是VS 2012的工作? – spender

+1

您的milage将根据您开发的应用类型而有所不同。就我而言,我正在开发一个Windows 8 metro应用程序。编译应用程序时,Windows会对该应用程序进行签名,并允许其隐式安装。由于安全问题,如果您正在运行网络共享,则这不起作用。如果您有任何疑虑,请查看我在下面发布的链接。快速解决方案是告诉Windows您正在运行应用程序。远程。 – Alex

+0

简单的答案在http://*.com/questions/12126918/registration-of-app-failed-because-the-files-are-on-a-network-share-copy-the-fi。确认在VS2017工作。 –

This post by Gearard Boland解决了这个问题。希望这个就派上用场了为别人开发了一个网络共享:

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.