有一個名爲TransformXml
的MSBuild任務,即Publish菜單項正在執行,但沒有從命令行執行。它不是項目文件的一部分,您必須手動執行它。
我有一個運行一個自定義的MSBuild腳本來部署一個站點一個構建服務器,並執行與此變換:
<!-- Transform the profile-specific .config file into Web.config, placing result in staging folder -->
<Target Name="TransformWebConfig" Condition=" '$(WebsiteTransformFile)' != '' ">
<Error Condition="!Exists('$(WebsiteTransformFile)')" Text="Web configuration file $(WebsiteTransformFile) not found." />
<Message Text="Transforming Web.config with $(WebsiteTransformFile)" />
<TransformXml Source="Web.config"
Transform="$(WebsiteTransformfile)"
Destination="Web.transformed.config" />
<Copy SourceFiles="Web.transformed.config" DestinationFiles="Web.config" />
<Delete Files="Web.transformed.config" />
</Target>
酒店$(WebsiteTransformFile)
是我自己的財產,在文件中其他位置定義,即對應於配置文件,如Web.release.config
。
您可以將其添加到.csproj文件中,或將其放入單獨的文件中,然後手動執行。最好手動完成,這樣當你按F5在本地運行時,你將使用未經轉換的web.config
,而不是你需要在服務器上部署的轉換版本。