【问题标题】:MSBuild in TeamCity for web applications don't copy referenced librariesWeb 应用程序的 TeamCity 中的 MSBuild 不会复制引用的库
【发布时间】:2013-11-25 12:04:30
【问题描述】:

我正在尝试使用 TeamCity 中的 msbuild 来配置 buildserver 以准备构建。一切似乎都很好,除了 msbuild 没有通过项目引用复制引用的库,例如我有一个使用 SSH.NET 的项目,而我的 Web 应用程序使用该项目,但我不能强制 msbuild 将该 SSH.NET 库复制到 Web 应用程序发布文件夹。

我使用这个 msbuild xml:

    <MSBuild Projects="$(WebAppDir)\WebApp.csproj"
         Targets="ResolveReferences; _WPPCopyWebApplication"
         Properties="Configuration=$(Configuration); Platform=$(Platform); WebProjectOutputDir=..\$(ReleaseOutputDir)\$(WebAppDir)\"
             />

我也尝试过使用SLN builder。使用此构建器 Teamcity 会复制所有库,但它不是发布构建。

我试图做什么?检查SO上的其他线程,我试过了:

  1. 在依赖项目的csproj文件中添加标签&lt;private&gt;True...
  2. 将引用库的属性更改为所有可能的值:将本地复制为 true、false、内容等;
  3. 我也尝试使用nuget installer 步骤来解析引用。

    但这对我都不起作用。

    Mb 还有另一种方法可以在 msbuild 中获取 Web 应用程序的发布版本吗?或者我应该如何让 msbuild 准备构建与 Visual Studio 手动发布命令构建相同?

【问题讨论】:

标签: dll reference msbuild copy teamcity


【解决方案1】:

只是想我会提到我最近花了 2 天时间试图弄清楚为什么 TeamCity 没有复制引用的程序集。事实证明,这是因为尽管程序集在“引用”下被“引用”并且将本地复制为 true,但它并没有复制它,因为程序集是在运行时动态加载的。我必须做的是添加一行,以从该库创建任何对象,然后 TeamCity 设法获取并复制引用的程序集。我不知道这对您的情况是否有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-08
    • 2011-08-18
    • 1970-01-01
    • 2012-04-23
    • 1970-01-01
    • 1970-01-01
    • 2011-10-08
    相关资源
    最近更新 更多