【发布时间】:2011-06-21 03:41:17
【问题描述】:
我有一个 ASP.NET 网站(不是 Web 项目)。它以某种方式存储对解决方案中其他项目的引用。在构建时,它需要将它们复制过来。
我正在尝试在 MSBuild 脚本中重现这一点。我知道正常的引用是由刷新文件处理的,这很好。
如何获取项目引用(及其依赖项)的 DLL 文件?
【问题讨论】:
-
如果你要投反对票,至少要评论为什么......
我有一个 ASP.NET 网站(不是 Web 项目)。它以某种方式存储对解决方案中其他项目的引用。在构建时,它需要将它们复制过来。
我正在尝试在 MSBuild 脚本中重现这一点。我知道正常的引用是由刷新文件处理的,这很好。
如何获取项目引用(及其依赖项)的 DLL 文件?
【问题讨论】:
对于网站项目,最简单的方法是将 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
【讨论】:
我无法回答这个问题,所以我将提出一个替代方案
拥有一个包含所有依赖项的主项目,并且该网站仅引用一个项目。这似乎工作得很好,因为我可以复制主项目bin 目录的内容。它还强制一种设计类型可以是好的也可以是坏的,但是到目前为止它运行良好。
【讨论】: