【问题标题】:Visual Studio 2012 Network SharesVisual Studio 2012 网络共享
【发布时间】:2012-09-29 00:04:48
【问题描述】:

我使用 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/

感谢您的帮助!

【问题讨论】:

  • 对 VS 2012 也不起作用吗?
  • 您的里程数会因您正在开发的应用类型而异。就我而言,我正在开发一个 Windows 8 Metro 应用程序。在编译应用程序时,Windows 会对应用程序进行签名,从而允许它被隐式安装。由于安全问题,如果您正在运行网络共享,这将不起作用。如果您有任何疑问,请查看我在下面发布的链接。快速解决方案是告诉 Windows 您正在运行该应用程序。远程。
  • stackoverflow.com/questions/12126918/… 中的简单答案。确认可以在 VS2017 中工作。

标签: c# visual-studio-2010 visual-studio virtual-machine network-share


【解决方案1】:

This post by 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>
    

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多