gpt4 book ai didi

asp.net-mvc - 如何在 Web 应用程序文件系统发布输出中包含配置转换文件

转载 作者:行者123 更新时间:2023-12-03 15:00:05 24 4
gpt4 key购买 nike

我已经有一段时间了。我正在尝试使用 TeamCity 和 Octopus Deploy 实现持续集成和部署管道。除了一个问题,我 99% 都在那里。我正在使用 teamcity 的标准 msbuild 运行程序,配置为使用 msbuild 的版本 12。

我需要在发布的输出中包含 web.config 转换,以便它们可以打包到用于 Octopus 部署的 nuget 包中。我愿意 不是 希望 msbuild 应用转换。

我是 不是 使用 Octopack 创建包。我正在使用内置的 teamcity nuget 打包程序。所以我将网站发布到文件系统文件夹,然后从该文件夹中的文件创建包。但是,无论我做什么,我都无法让 msbuild 在发布中包含 web.config 转换文件(我使用 Octopus Deploy 执行转换,所以我不希望 msbuild 执行它们)。

我已验证所有转换文件(Web.Release.config 等)都标记为“内容”。我没有将它们标记为始终复制,因为这样做会将它们复制到 bin 文件夹,而不是它们所属的根文件夹。

我已经删除了 /p:Configuration=我已经阅读过 msbuild 命令行中的属性,这是应用转换所必需的。我的 msbuild 参数如下所示:

/p:DeployOnBuild=true /p:PublishProfile=Deployment

发布配置文件中似乎没有任何与转换相关的内容。发布配置文件包含要发布到的文件系统位置。

这里有什么建议吗?

注意:我已经放弃并找到了一个不同的解决方案,但如果有人有任何意见,我将保持开放状态。

最佳答案

您可以创建自定义 . nuspec文件并从那里引用要包含的文件。

我的建议是拥有 .nuspec文件与 web.config/web.release.config 文件位于同一目录中,并使路径从那里相对。

因此,如果您发布到名为 /output 的目录中你可以使用这样的规则

<files>
<file src="*.config" target="\" />
<file src="publish\*.*" target="\" />
</files>

所以 nuget pack nuspecPath将成为打包项目的方式

NuSpec Reference

希望这可以帮助

关于asp.net-mvc - 如何在 Web 应用程序文件系统发布输出中包含配置转换文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37398853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com