我正在尝试通过Hudson CI构建一个Visual Studio包项目。这是一个Visual Studio 2010项目。项目在我的dev box中构建得很好,但由于某些原因,我只在Hudson中构建时才收到以下错误:
C:\Program Files错误:尝试读取(x86)\MSBuild\Microsoft\VisualStudio\v10.0\VSSDK\Microsoft.VsSDK.targets(378,5):清单文件"obj\Release\extension.vsixmanifest“时出错。系统找不到指定的文件。(HRESULT异常: 0x80070002) C:\hudson\workspace\MyProject_Daily_Compilation\Source\MyProject.VisualStudio\MyProject.VisualStudio.csproj
我已验证该文件是否存在于磁盘上的以下位置:
C:\Hudson\workspace\MyProject_Daily_Compilation\Source\MyProject.VisualStudio\obj\Release\extension.vsixmanifest
导致此问题的原因可能是什么?
发布于 2011-10-03 04:45:48
我猜你是把hudson当做一项服务来运营。如果是这样,"0x80070002 -系统找不到指定的文件“很可能是由于用于运行hudson的用户没有访问权限。
快速的解决方案是将Hudson服务的"Log on“用户更改为您的普通帐户。
发布于 2014-05-09 06:48:34
如果运行构建的用户没有管理权限,您很可能会遇到这样的错误。
因此,有两种解决方案:
1)使用管理权限运行构建(构建服务器)。
或者,如果您不能真正更改运行构建服务器的用户
2)并且您实际上不需要在构建服务器本身上部署VS扩展,请将*.csproj文件中的DeployExtension属性设置为false。
Microsoft.VsSDK.targets在缺省情况下将该属性设置为true
<DeployExtension Condition="'$(DeployExtension)' == ''">true</DeployExtension>但是,如果您不需要在本地部署该扩展(而是更愿意构建*.vsix包,则可以安全地将
<PropertyGroup>
<DeployExtension>false</DeployExtension>
</PropertyGroup>最初的错误基本上是因为在构建过程中的某个时刻尝试获取部署路径失败,并中断了成功的vsix包生成。通过将属性设置为false,构建不会尝试在本地部署扩展(但会生成有效的*.vsix )
https://stackoverflow.com/questions/7450859
复制相似问题