【问题标题】:Automate publishing of a WCF library using MSBuild使用 MSBuild 自动发布 WCF 库
【发布时间】:2011-04-07 12:50:46
【问题描述】:

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

【问题讨论】:

  • 感谢您的回复。除非使用和/或编写自定义任务,否则我无法通过 MSBuild 完成。

标签: .net wcf


【解决方案1】:

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

【讨论】:

  • 使用至少 .NET 4.0 检查 /t:Package 目标 - 我相信这更多是 Visual Studio 所利用的功能,而不是任何融入 VS 的功能(但我可能是错的) .您确实会在 VS2010 中获得一些不错的属性对话框,否则必须手动编辑。
【解决方案2】:

你应该看看Wix我相信它应该能够做到你所要求的,这只是一个巨大的学习曲线。

【讨论】:

    【解决方案3】:

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

    Web Packaging: Creating Web Packages using MSBuild

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

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

    如果您希望单独存储应用程序元数据(站点名称、应用程序池、acls、目标目录等),然后编写 MSBuild(或 Powershell, bat 文件等)脚本来协调设置和拆除这些资产的工作。请参阅Getting Started with AppCmd.exe 了解更多信息。

    HTH,

    Z

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多