3

2 つのアプリケーション構成ファイル (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>

たとえば、(Production) ビルド構成を選択した後、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 に答える