代码之家  ›  专栏  ›  技术社区  ›  Samuel Jack

未将Silverlight Xap文件复制到生成服务器上的ClientBin

  •  9
  • Samuel Jack  · 技术社区  · 16 年前

    我们正在开发一个具有Silverlight2.0组件的ASP.NET Web应用程序项目。我们在Web应用程序属性中引用了Silverlight项目,并且当我们在本地构建时,xap文件将被复制到Web应用程序的clientbin文件夹中。

    问题是,当我们在构建服务器(使用CruiseControl.net,尽管我认为这不相关)上构建这个文件时,不会复制xap文件。奇怪的是,这是有效的,但有什么东西打破了它,我们不知道什么。

    有人见过这个吗?

    3 回复  |  直到 10 年前
        1
  •  13
  •   Samuel Jack    16 年前

    排序!

    不太确定原因,但结果是我们在构建服务器上有一个过时的Microsoft.WebApplications.Targets版本-我们没有的版本 CopySilverLight应用程序 其中的任务。为了解决这个问题,我从 C:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\WebApplications 文件夹位于生成服务器上的同一位置。现在一切正常了。

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

        2
  •  1
  •   Mark Nash    10 年前

    我在我的项目文件中发现了以下标记,已将其修复:

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

    例如

    <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是在本地计算机上的这一点之前设置的,但不是在构建服务器上设置的。

        3
  •  0
  •   Jeremy Sullivan    16 年前

    我刚刚遇到了一个类似的问题,一些文件没有被构建/移动到我的dev服务器。当我手动删除文件夹时,问题最终成为权限问题。由于某种原因,新创建的文件夹没有继承网络服务帐户和权限。