Silverlight xap文件未复制到Build Server上的ClientBin

时间:2009-06-11 11:41:14

标签: asp.net silverlight msbuild build-process

我们正在开发一个具有Silverlight 2.0组件的ASP.Net Web应用程序项目。我们在Web应用程序属性中引用了silverlight项目,当我们在本地构建时,xap文件被复制到Web应用程序的ClientBin文件夹中。

问题在于,当我们在构建服务器上构建它时(使用CruiseControl.Net,虽然我不认为这是相关的)xap文件没有被复制。奇怪的是,这是有效的,但有些事情已经打破了,我们无法弄清楚是什么。

之前有人见过这个吗?

3 个答案:

答案 0 :(得分:13)

排序!

不太清楚为什么,但事实证明我们在构建服务器上有一个过时的Microsoft.WebApplications.targets版本 - 我们的版本没有 CopySilverlightApplications 任务在里面。为了解决这个问题,我将这两个文件从C:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\WebApplications文件夹复制到了构建服务器上的相同位置。现在一切正常。

现在,如果我能找出哪个安装程序应该更新这些文件......

答案 1 :(得分:1)

我在项目文件中发现以下标记修复了它:

<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>

e.g。

<PropertyGroup>
  <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />

可能在本地计算机上的此点之前设置了VSToolsPath,但是在构建服务器上没有设置。

答案 2 :(得分:0)

我遇到了类似的问题,其中一些文件没有被构建/移动到我的开发服务器。当我手动删除文件夹时,该问题最终获得了许可。出于某种原因,新重新创建的文件夹不会继承网络服务帐户和权限。