【问题标题】:Resolving Web Site Project References解析网站项目引用
【发布时间】:2011-06-21 03:41:17
【问题描述】:

我有一个 ASP.NET 网站(不是 Web 项目)。它以某种方式存储对解决方案中其他项目的引用。在构建时,它需要将它们复制过来。

我正在尝试在 MSBuild 脚本中重现这一点。我知道正常的引用是由刷新文件处理的,这很好。

如何获取项目引用(及其依赖项)的 DLL 文件?

【问题讨论】:

  • 如果你要投反对票,至少要评论为什么......

标签: asp.net msbuild web


【解决方案1】:

对于网站项目,最简单的方法是将 Web 部署项目添加到您的解决方案中。 这是一种特殊的项目类型(可从 http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0AA30AE8-C73B-4BDD-BB1B-FE697256C459 获得),它模仿 Visual Studio 中的“发布”操作。

将其添加到解决方案后,您可以调用 MSBUILD.EXE 来编译您的网站及其所有依赖项:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\MSBUILD C:\MyWebSite\MyWebSiteDeployProj\MyWebSiteDeployProj.wdproj /target:Clean;Rebuild

【讨论】:

  • 这可能很有用,但我的脚本不仅仅是发布而且已经完成,我正在寻找调整,并试图弄清楚它是如何在 Visual Studio 中完成的。
  • 复制起来可能比乍看之下更复杂,因为 Visual Studio 将计算项目的依赖顺序并根据需要将程序集复制到您的网站中。当您开始谈论引用其他项目的项目时,它会变得更加有趣。
【解决方案2】:

我无法回答这个问题,所以我将提出一个替代方案

拥有一个包含所有依赖项的主项目,并且该网站仅引用一个项目。这似乎工作得很好,因为我可以复制主项目bin 目录的内容。它还强制一种设计类型可以是好的也可以是坏的,但是到目前为止它运行良好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-13
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    • 2014-09-27
    • 2015-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多