我有两个应用程序配置文件(app.debug.config 和 app.production.config),我找到了根据当前构建配置名称将配置文件复制到输出文件夹的解决方案:
<Target Name="AfterBuild">
<Delete Files="$(TargetDir)$(TargetFileName).config" />
<Copy SourceFiles="$(ProjectDir)\App.$(Configuration).config" DestinationFiles="$(TargetDir)$(TargetFileName).config" />
</Target>
因此,例如在选择(生产)构建配置后,MSbuild 将自动复制 app.production.config 并将其重命名为输出文件夹中的 projectname.config。
不幸的是,发布的情况不同, 因为当我将项目发布到网络服务器时,配置文件没有发布。
如何执行相同的发布任务?
最佳答案
我找到了解决方案,我将以下内容添加到项目文件中:
<ItemGroup>
<CustomConfigFile Include="$(ProjectDir)\App.$(Configuration).config">
<Visible>False</Visible>
</CustomConfigFile>
</ItemGroup>
<Target Name="BeforePublish">
<CreateItem Include="@(CustomConfigFile)" AdditionalMetadata="TargetPath=$(TargetFileName).config;IsDataFile=false">
<Output TaskParameter="Include" ItemName="_DeploymentManifestFiles" />
</CreateItem>
</Target>
关于visual-studio-2010 - 像在 AfterBuild 中一样实现 BeforePublish,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14479963/