【发布时间】:2017-09-08 21:16:54
【问题描述】:
我有一个 NLog.config 文件,我想在发布我的网站之前对其进行转换。类似于 web.config 的转换方式。我该如何做到这一点?我找不到任何关于如何做到这一点的可靠资源。
我尝试向 csproj 添加转换
<Target Name="BeforeBuild" Condition="exists('NLog.$(Configuration).config')">
<Message Text="Tranforming NLog..."/>
<TransformXml Source="NLog.config" Transform="NLog.$(Configuration).config" Destination="$(OutputPath)\NLog.config" />
</Target>
还将 NLog 添加到 csproj:
<Content Include="NLog.config">
<SubType>Designer</SubType>
</Content>
<None Include="NLog.aws-prod.config">
<DependentUpon>NLog.config</DependentUpon>
</None>
<None Include="NLog.aws-test.config">
<DependentUpon>NLog.config</DependentUpon>
</None>
但这不会将转换后的 NLog.config 复制到包目录(或在部署到 AWS 时)。原始的 NLog.config 被复制并在 /bin 目录中复制。
【问题讨论】:
-
看看 SlowCheetah - marketplace.visualstudio.com/…
-
您可以在构建项目之后、发布之前转换此配置吗?
-
谢谢约翰,这为我指明了正确的方向。我模仿了 SlowCheetah 所做的更改并手动编辑了我的 csproj。将在下面添加解决方案