visual-studio-2012 - IIS/Visual Studio 发布配置文件

标签 visual-studio-2012 iis-7.5 visual-studio-2013 publish-profiles

我知道 IIS 允许创建可以“导入”到 Visual Studio 中的发布配置文件,以便将网站直接上传到 IIS 中(因为我已经在使用它了)。 但现在我有一个关于在 Visual Studio 中使用这些发布配置文件的更具体的问题。

我有一个 Web 应用程序的解决方案,其中包含几个不同的组件,我希望将它们保留在 IIS 中。
也就是说,我在这个项目中有网络版本、移动版本和几个网络服务。

我配置服务器的目的是将网络服务、移动设备和网站分成不同的站点,并使用不同的发布配置文件将它们发布到各自的位置。

由于我将所有这些组件放入一个 Visual Studio 项目中,是否可以发布配置文件来发布项目的单个组件,而不需要我进行“完整发布”?

或者是拥有单独项目的唯一解决方案? (即使它们都在一个 VS 解决方案中)

最佳答案

Visual Studio 的 Web 发布功能假定项目映射到原子组件1。默认情况下没有办法指定如何仅发布项目的子集。这部分源于构建 Web 发布管道 (WPP) 的构建系统 (MSBuild)。

您可以研究的选项:

  • 使您的网站内容与项目的结构相匹配。部署是增量的(如果来自您的计算机),您可以从 VS 解决方案资源管理器部署特定文件或文件夹。如果您需要重新发布二进制文件,您仍然需要进行完整发布。发布单个文件/目录是上述1的异常(exception)情况,并且仅适用于内容文件更改。
  • 如果您能够应对挑战,您可以深入研究 WPP 目标(全部是 MSBuild),并尝试找到一种方法来限制发布的文件。然后,您可以在项目中设置单独的发布配置文件,每个配置文件仅处理文件的子集。
  • 最简单的方法,特别是如果您要自动化此操作,可能就是为每个组件使用单独的项目。 :(

关于visual-studio-2012 - IIS/Visual Studio 发布配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22041060/

相关文章:

与 VS 2012 项目文件相关的 Git 问题

c# - 如何修复 Microsoft Visual Studio 错误 : "package did not load correctly"?

windows - 为什么 appcmd.exe 在批处理文件中执行时表现不同?

asp.net - 将始终加密的证书放置在 IIS 7.5 Web 服务器上的什么位置?

c++ - 将初始化列表与 std::map 一起使用

c# - c# 项目中没有 main()

c# - Visual Studio 中一个项目的两个站点

c# - 在 MVC4 中找不到 IIS 7.5 ActionLink 资源

visual-studio-2013 - 如何将自定义事件绑定(bind)到 VS 2013 中的 grunt 任务运行器

c++ - 2 个重载具有相似的转换 - 内置运算符 integer[pointer-to-object]