.net 使用MSBuild自动发布WCF库

.net 使用MSBuild自动发布WCF库,.net,wcf,.net,Wcf,我搜索了一下,找不到任何与此主题相关的内容。在将Visual Studio 2010用于WCF库时,可以右键单击该库并发布WCF库,该库将生成/创建.svc和web.config文件并进行部署。我一直试图在msbuild中模仿这一点,但没有成功。这可能吗?我已经构建了用于部署WCF应用程序和网站的脚本,但没有幸使用这些脚本成功部署WCF库。当我使用它们时,它会编译Dll,但不会编译.svc或web.config文件。任何建议都将不胜感激。发布WCF库是Visual Studio的内置功能,与MS

我搜索了一下,找不到任何与此主题相关的内容。在将Visual Studio 2010用于WCF库时,可以右键单击该库并发布WCF库,该库将生成/创建.svc和web.config文件并进行部署。我一直试图在msbuild中模仿这一点,但没有成功。这可能吗?我已经构建了用于部署WCF应用程序和网站的脚本,但没有幸使用这些脚本成功部署WCF库。当我使用它们时,它会编译Dll,但不会编译.svc或web.config文件。任何建议都将不胜感激。

发布WCF库是Visual Studio的内置功能,与MSBuild无关。因此,除非您创建自己的MSBuild任务或使用其他任务模拟行为,否则您将无法做到这一点。

您应该检查一下,我相信它应该能够满足您的要求,这只是一个巨大的学习曲线。

阅读,他有几篇关于部署IIS应用程序的技术的文章(包括托管在IIS中的WCF服务)

简而言之,MSBuild target包是您的朋友。请尝试使用命令行上的/t:Package目标构建ASP.NET或WCF服务应用程序

它将创建一个zip文件和相关的.cmd文件以供执行,然后您可以使用命令行进行部署,甚至可以通过MMC将.zip手动导入IIS。要从MSBuild进行部署,您应该能够对运行该服务的任何服务器执行该“包”

如果希望单独存储应用程序元数据(站点名称、应用程序池、ACL、目标目录等),然后编写MSBuild(或Powershell、bat文件等)脚本来协调设置和拆除这些资产的工作,您还可以签出%WINDIR%\system32\inetsrv\appcmd.exe。有关详细信息,请参阅

嗯,


Z

感谢您的回复。我想说的是,除非使用和/或编写自定义任务,否则无法使用MSBuild完成此任务。请查看至少使用.NET 4.0的/t:Package目标-我相信这是Visual Studio利用的一项功能,而不是VS中的任何东西(但我可能错了)。在VS2010中,您确实可以看到一些不错的属性对话框,否则这些对话框必须手动编辑。