我正在尝试通过Hudson CI构建Visual Studio Package项目.这是一个Visual Studio 2010项目.该项目在我的开发框中构建良好,但由于某种原因,我只在Hudson中构建时才会出现以下错误:
C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v10.0\VSSDK\Microsoft.VsSDK.targets(378,5):错误:尝试读取VSIX清单文件时出错"obj\Release\extension.vsixmanifest ".该系统找不到指定的文件.(来自HRESULT的异常:0x80070002)[C:\ hudson\workspace\MyProject_Daily_Compilation\Source\MyProject.VisualStudio\MyProject.VisualStudio.csproj]
我已验证该文件存在于以下位置的磁盘上:
C:\哈德森\工作区\ MyProject_Daily_Compilation \来源\ MyProject.VisualStudio\OBJ \发布\ extension.vsixmanifest
可能导致此问题的原因是什么?
如果您运行构建的用户没有管理权限,则可能会遇到此类错误.
所以有两个解决方案:
1)使用管理权限运行构建(构建服务器).
或者,如果您无法真正更改运行构建服务器的用户
2)并且您实际上不需要在构建服务器本身上部署VS扩展,将*.csproj文件中的DeployExtension属性设置为false.
Microsoft.VsSDK.targets默认将该属性设置为true
<DeployExtension Condition="'$(DeployExtension)' == ''">true</DeployExtension>
Run Code Online (Sandbox Code Playgroud)
但如果您不需要在本地部署该扩展(但更愿意建立*.vsix捆绑,您可以放心地放置
<PropertyGroup>
<DeployExtension>false</DeployExtension>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
最初的错误基本上发生了,因为尝试获取部署路径在构建中的某个时刻失败并破坏成功的vsix包生成.通过将该属性设置为false,构建不会尝试在本地部署扩展(但会生成有效的*.vsix)
| 归档时间: |
|
| 查看次数: |
1627 次 |
| 最近记录: |