Win8:在布局文件夹中注册应用程序...失败

Kai*_*nen 5 microsoft-metro windows-8 visual-studio-2012

Noob警告.我是Windows开发工具的新手.

我安装了最新的Win8 RC,并获得了VS 2012 RC.现在我正在尝试创建一个Metro风格的应用程序(C#),但在从VS执行测试时遇到问题.错误消息是:

Error : DEP0700 : Registration of the app in the layout folder "C:\<FOLDER>" failed. 

error 0x80070005: Failed to set access rights to \\?\C:\<FOLDER>

Failed to activate Metro style unit test executor. Error : The parameter is incorrect.
Run Code Online (Sandbox Code Playgroud)

如果尝试使用vsttest.console.exe从命令行运行单元测试,则最初由于不受信任的根证书而失败.解决方法是使用Certutil添加生成的.cer文件,然后从命令提示符运行单元测试按预期工作.

但是,Visual Studio仍然拒绝使用相同的错误消息运行测试.路径中的*\?*看起来像无效,但我没有足够的经验与VS知道它是否正常.我也试过这里这里的说明,但没有任何用处.

运行

Get-WinEvent -logname Microsoft-Windows-Appx* |Select-Object -first 10|Out-GridView
Run Code Online (Sandbox Code Playgroud)

说"最后一次成功的状态是PrerequiesitesCheced",但除此之外给了我或多或少相同的"无法设置访问权限"错误,如上所述.

更多背景信息:

  • 它是一个共享(超过vcs)项目,它在其他开发机器上运行良好
  • 签名证书不是"我的",但由于它从cmd运行,我认为它不是根本原因
  • 测试是使用Visual Studios单元测试框架编写的,例如NUnit似乎与Metro应用程序不太合作.
  • 目录中的权限应该没问题,我检查了所有文件和目录都归我所有,并且具有读/写访问权限
  • 笔记本电脑上有另一个用户,他使用VS,但项目没有共享,应用程序和签名ID已经重新生成.我也在搜索问题的解决方案时删除了用户名.

有没有人有类似的情况,并设法以某种方式修复它?任何帮助将不胜感激.

Kai*_*nen 0

我们一直没找到原因,为了节省时间,我最终清除了整个环境,并重新安装了 Windows。我为此使用了专用机器,并且微软使安装过程非常简单,所以这不是什么大问题。我猜是预发行版的问题,因为我没有再遇到类似的问题,我的团队中的其他人也没有遇到类似的问题。

  • 就我而言,问题是由 Cygwin 引起的。默认情况下,Cygwin 在其创建的文件和目录上使用 ACL,以模拟 Unix 权限系统。如果 Visual Studio 看到这样的 ACL 组合,它会错误地推断该目录是网络共享,并拒绝在此位置部署应用程序。为了解决这个问题,我使用 Cygwin 的“noacl”标志挂载“C:”驱动器。 (6认同)