创建包含 Web 项目和未引用模块的 WebDeploy Zip
Create WebDeploy Zip Containing Web Project and Unreferenced Modules
我们有一个 VS 2017 解决方案,其中有一个主要的 Web 项目。我们还有 3 个其他 Web 项目——这些是依赖于主 Web 项目的模块。但是,主 Web 项目不引用或不知道有关该模块的任何信息。当解决方案构建模块时,将它们的输出复制到主 Web 项目的 bin 文件夹中。模块必须依赖于主工程的最新版本,因此需要先构建主工程,然后再构建模块。这一切在本地运行良好 - 站点加载模块工作等。
我们目前正在使用 Octopus,它的 Octopack 步骤在 Solution 之后运行并获取所有文件。我们正在尝试仅使用 VSTS,但在将模块文件放入标准 Web 部署 zip 时遇到问题。
当 MSBbuild 在 Solution 上运行时,它会为每个 Web 项目创建一个 zip 文件。主项目的 zip 文件不包含模块的 Dll 文件(即使它们位于 bin 文件夹中)。因此,当我们通过 VSTS 站点部署时缺少模块。我们如何告诉 MSBuild 为包含构建模块的解决方案创建单个 webdeploy 包?
MSBuild 命令基本上是 VSTS 中开箱即用的命令:
/p:DeployOnBuild=true
/p:WebPublishMethod=Package
/p:PackageAsSingleFile=true
/p:PackageLocation="C:\temp\web.zip"
据我所知,在其他解决方案项目将其内容复制到 bin 文件夹之前,MsBuild 正在制作 webdeploy zip。 MSBuild 在最好的时候对我来说有点神秘。
在很大程度上,这只是使 MSBuild 包含不属于项目一部分的额外文件的情况。 pack web 项目发布只关心项目中包含的文件。
我按照这个问题 How do you include additional files using VS2010 web deployment packages? 中的指南更新了主 Web 项目 Csproj 文件。我 运行 MSBuild 一次构建解决方案,因此模块 dll 文件可用,然后我再次 运行 MSBuild 使用主 Web 项目创建带有额外包含文件的 WebDeploy 输出。
不确定这是最好的方法 - 添加一些文件似乎有点复杂,但它有效。
我们有一个 VS 2017 解决方案,其中有一个主要的 Web 项目。我们还有 3 个其他 Web 项目——这些是依赖于主 Web 项目的模块。但是,主 Web 项目不引用或不知道有关该模块的任何信息。当解决方案构建模块时,将它们的输出复制到主 Web 项目的 bin 文件夹中。模块必须依赖于主工程的最新版本,因此需要先构建主工程,然后再构建模块。这一切在本地运行良好 - 站点加载模块工作等。
我们目前正在使用 Octopus,它的 Octopack 步骤在 Solution 之后运行并获取所有文件。我们正在尝试仅使用 VSTS,但在将模块文件放入标准 Web 部署 zip 时遇到问题。
当 MSBbuild 在 Solution 上运行时,它会为每个 Web 项目创建一个 zip 文件。主项目的 zip 文件不包含模块的 Dll 文件(即使它们位于 bin 文件夹中)。因此,当我们通过 VSTS 站点部署时缺少模块。我们如何告诉 MSBuild 为包含构建模块的解决方案创建单个 webdeploy 包?
MSBuild 命令基本上是 VSTS 中开箱即用的命令:
/p:DeployOnBuild=true
/p:WebPublishMethod=Package
/p:PackageAsSingleFile=true
/p:PackageLocation="C:\temp\web.zip"
据我所知,在其他解决方案项目将其内容复制到 bin 文件夹之前,MsBuild 正在制作 webdeploy zip。 MSBuild 在最好的时候对我来说有点神秘。
在很大程度上,这只是使 MSBuild 包含不属于项目一部分的额外文件的情况。 pack web 项目发布只关心项目中包含的文件。
我按照这个问题 How do you include additional files using VS2010 web deployment packages? 中的指南更新了主 Web 项目 Csproj 文件。我 运行 MSBuild 一次构建解决方案,因此模块 dll 文件可用,然后我再次 运行 MSBuild 使用主 Web 项目创建带有额外包含文件的 WebDeploy 输出。
不确定这是最好的方法 - 添加一些文件似乎有点复杂,但它有效。