6

我使用 Parallels 在 VM 上模拟 Windows 8。为了简单和连贯,我将所有开发人员项目都存储在 Mac 的分区上。

当我尝试构建一个运行此网络共享的应用程序 (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/

谢谢您的帮助!

4

1 回答 1

14

Gearard Boland 的这篇文章解决了这个问题。希望这对通过网络共享进行开发的其他任何人都派上用场:

是的,设计使您无法从网络驱动器运行 Metro 应用程序,而从 Visual Studio 部署基本上将应用程序注册到系统而无需实际打包和安装它(因此它不会被放入正常的安装位置,即当地的)。

您仍然可以使用网络驱动器上的源代码,但您必须覆盖部署位置,默认情况下位于项目的根目录下(例如bin\)。你有几个选择:

  1. 您可以从本地调试切换到远程调试并将机器名称设置为“localhost”。这将在您的本地机器上进行远程部署(因此不使用项目的目录)。您无需安装 Remote Debugger 工具,也无需启动msvsmon它即可在 localhost 上运行。
  2. 您可以覆盖项目的输出目录。右键单击项目并将输出目录更改为:$(Temp)\$(MSBuildProjectName)\bin\$(Configuration),其中Temp是指向您的 Temp 目录的环境变量。
  3. 如果您仍然希望正常输出位于源旁边,例如当您构建 appx 包等时,您可以仅覆盖布局目录而不是整个输出路径。为此,您需要直接修改项目文件(例如 *.jsproj、*.csproj、...)以添加新值:

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

希望有帮助。

于 2012-10-08T18:10:58.213 回答