我在同一解决方案中拥有一系列基于 .NET 4 的 Web 应用程序(WCF 和 Web),但需要从命令行有选择地发布。
到目前为止,我已经尝试了各种方法,MSBuild、aspnet_compiler,但迄今为止没有任何效果。
我需要能够指定项目,而不是解决方案,运行任何转换并将输出重定向到文件夹...基本上模仿鼠标右键单击“发布”选项,使用文件系统。
除此之外,我想保留这些项目 - 不要到处添加 msbuild 文件,因为这是一个特定的构建,不一定与项目相关。
我尝试过的东西:
I've got a series of .NET 4 based web applications (WCF and Web) within the same solution, but need to selectively publish, from the command line.
I've tried various things so far, MSBuild, aspnet_compiler, but nothing, to date has worked.
I need to be able to specify the Project, not the solution, have any transforms run and have the output redirected to a folder...basically mimick the right mouse click 'Publish' option, using the File System.
In addition to all of this, I'd like to leave the projects alone - not adding msbuild files all over the place, as this is a specific build, and not necessarily related to the project.
Stuff I've tried:
发布评论
评论(4)
将以下脚本另存为 publishProject.bat
我从另一个批处理文件
编辑调用它:
上面的代码适用于大多数情况,但不适用于所有情况。即我们使用另一个 asp .net 应用程序并将其链接为 IIS 中的虚拟文件夹。对于这种情况,VS2008 可以很好地使用上面的代码,但 VS2010 在部署时也会从虚拟目录复制文件。以下代码在 VS2010 中也可以正常工作(在此处找到解决方案)
添加到您的项目文件(*.csproj、*.vbproj)
更改publishProject.bat 到:
Save the following script as publishProject.bat
I call it from another batch file
EDIT:
Code above works for most cases but not for all. I.e. we use another asp .net application and link it as virtual folder in IIS. For this situation VS2008 worked fine with code above but VS2010 also copy files from virtual directory while deploying. The following code works properly also in VS2010 (solution was found here)
Add to your project file (*.csproj, *.vbproj)
Change publishProject.bat to:
我知道这是一个老问题,但我刚刚学到了一些东西,所以我决定分享:虽然“_CopyWebApplication”目标存在并工作是 100% 真实的,但从 .NET 4.0 开始,它已被“ Microsoft.Web.Publishing.targets 中的“_WPPCopyWebApplication”目标,支持 web.config 转换语法等新功能。
I know this is an old question, but I just learned something, so I decided I'd share: While it is 100% true that the "_CopyWebApplication" target exists and works, as of .NET 4.0 it has been superseded by the "_WPPCopyWebApplication" target in Microsoft.Web.Publishing.targets, which supports new features like web.config transformation syntax, etc.
您检查过 WebDeploy 吗?
这应该完成您需要的所有步骤 - 它可以将 Web 应用程序捆绑到可部署文件(基本上是 ZIP)中,并且服务器上有一个“引擎”可以解释该可部署包并完成所有繁重的工作为你。
另请参阅 Scott Hanselman 的 Web 部署变得很棒:如果您使用 XCopy,那么您就错了< /a> 博客文章 - 非常有启发性!
Have you checked out WebDeploy?
This should do all the steps you need to have - it can bundle up a web app into a deployable file (a ZIP, basically), and there's an "engine" on the server that can interpret that deployable package and do all the heavy lifting for you.
Also see Scott Hanselman's Web Deployment Made Awesome: If You're Using XCopy, You're Doing It Wrong blog post - very enlightening!
我使用 Web.config 转换针对 CCNET 提供的解决方案:
My solution for CCNET with the Web.config transformation: