ASP.NET Web Application Build Output - How do I include all deployment files?当我构建ASP.NET Web应用程序时,我得到一个.dll文件,其中包含网站的代码(很棒),但是该网站还需要所有.aspx文件和朋友,并且需要将它们放置在正确的位置。 目录结构。 每次构建后,如何在一个目录中获得所有这些信息? 尝试从源目录中选择正确的文件是很痛苦的。 最终结果应该是xcopy可部署的。 更新:我不想手动使用我知道的"发布"命令。 我希望应用程序所需的完整文件集成为生成输出-这意味着我还可以从运行MSBuild的一个位置获得完整文件集。 一种解决方案似乎是Web部署项目(WDP),它是Visual Studio的附加组件(和msbuild),可将Web项目构建到目录中,并且可以选择合并程序集并更改web.config文件。构建WDP的输出是将站点部署到一个目录中所需的所有文件。 有关Web部署项目的更多信息: 该解决方案的唯一缺点是需要附加组件,该附加组件必须在构建计算机上可用。不过,现在已经足够好了! ASP.NET没有为新站点进行真正的xcopy部署。这取决于在IIS中有虚拟目录/应用程序。但是,一旦创建了虚拟目录,就可以使用xcopy进行更新。 MSBuild上的_CopyWebApplication目标将完全满足您的需求。问题是只有主程序集将被复制到bin文件夹,这就是为什么需要复制任务才能复制bin文件夹上的任何其他文件的原因。 我正在尝试将示例脚本发布为这篇文章的一部分,但没有能力。 请在我的博客上看一下这篇文章,该文章描述了如何创建与所需脚本类似的MSBuild脚本。 您是否尝试过在.net Framework目录中使用aspnet_compiler.exe?我很确定您可以创建Web应用程序或网站的"部署就绪"版本。 您可以发布网站。.如果要自动化部署,则需要使用一些脚本。 这取决于您需要的解决方案复杂程度,例如,您可以仅使用脚本和詹金斯。您可以将MSBUild与Jenkins一起使用,仅用于部署到IIS。而且,如果您拥有Jenkins,则以后很容易将其连接到其他工具。但是,如果您只想构建,请使用脚本让詹宁斯执行每个使用MSDeploy的构建,它将很好地工作。 我就是这样做的,只是为了给您一种感觉: Sonarqube使用Gallio,Gendarme,FXcop,Stylecop,NDepths和PartCover来获取指标,所有这些都非常简单,因为SonarQube无需太多配置即可自动执行此操作。 这是詹金斯(Jenkins)的女巫构建并获取声纳(Sonar)指标,以及另一项自动部署到IIS的工作。我使用简单的脚本一行来调用我的MSBuild,并将URL,pass和user夹在中间。
|