3

我有两个应用程序配置文件(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。

不幸的是,发布的情况不一样,因为当我将项目发布到 Web 服务器时,配置文件没有发布。

我怎样才能为发布做同样的任务?

4

1 回答 1

1

我找到了解决方案,我在项目文件中添加了以下内容:

  <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>
于 2013-01-26T12:52:43.937 回答