DrC*_*ste 6 msbuild msdeploy msbuild-propertygroup webdeploy
我仍然试图了解MSBuild的事情.目前,我正在使用PackageWeb-Nuget-Package(视频演示)中生成的脚本来部署via powershell脚本.我已经尝试了几天了,它似乎工作.但是"突然"生成的web.config中的连接字符串被标记化,而不是我看到的连接字符串
connectionString="$(ReplacableToken_DefaultConnection-Web.config Connection String_0)
Run Code Online (Sandbox Code Playgroud)
我"突然"写道,因为我无法将这个(对我来说是新的)行为与我在前几个小时里完成的任何事情联系起来.
总结一下:从包的部署工作正常,也正在应用正确的配置转换,但我最终得到了这个标记化的连接字符串.
我意识到如果我插入,我可以解决这个问题
<AutoParameterizationWebConfigConnectionStrings>false</AutoParameterizationWebConfigConnectionStrings>
Run Code Online (Sandbox Code Playgroud)
到PropertyGroup(我只是把它放到Nuget-Package创建的生成的目标文件中)
但是我真的不喜欢这个,不得不将这个附加值插入到可能需要它的每个项目中; 特别是因为我不知道我首先需要这个调整.昨天它工作,我没有将这个额外的行插入任何项目或目标文件.
所以我希望也许有人知道额外的开关,技巧或设置,这可能会对它的工作方式产生额外的影响.
默认情况下,Microsoft 使用自动参数化。这包括 het 连接字符串。您可以通过将其添加到项目文件来禁用此功能。
<AutoParameterizationWebConfigConnectionStrings>false</AutoParameterizationWebConfigConnectionStrings>
要禁用所有转换,您可以按此处所述添加此项。
<TransformWebConfigEnabled>false</TransformWebConfigEnabled>
要禁用部署包的所有参数:
<DisableAllVSGeneratedMSDeployParameter>true</DisableAllVSGeneratedMSDeployParameter>
小智 0
我注意到像 $(ReplacableToken_ 这样的事情在发布时似乎是随机发生的,并且能够通过在重建和重新发布之前进行清理来解决这种情况。但是,因为你无法真正知道,除非你总是在发布后手动检查 web.config ,我还添加了
<AutoParameterizationWebConfigConnectionStrings>false</AutoParameterizationWebConfigConnectionStrings>
Run Code Online (Sandbox Code Playgroud)
到相关的 Web 服务项目。
| 归档时间: |
|
| 查看次数: |
4788 次 |
| 最近记录: |