実現したいこと
.NETのプロジェクトファイルについて調べています。AfterCompileターゲットを使えるかどうかを知りたいです。
SDKスタイルのプロジェクトファイルの書き方について以下のドキュメントを調べていました。
https://learn.microsoft.com/ja-jp/dotnet/core/project-sdk/overview
ここにある使用可能なSDK「Microsoft.NET.Sdk」のソースを調べました。
https://github.com/dotnet/sdk
このソースの中には「AfterCompile」という単語がありません。
手元にある既存のプロジェクトファイルでは、「Target Name=AfterCompile」というターゲットを使っていました。以下の記事にあるようなものです。
https://qiita.com/m2tmk/items/c24e4d0eb30d820dd7b5
VisualStudioのビルド処理には、AfterCompileというターゲットが使えるように見えます。
https://learn.microsoft.com/ja-jp/visualstudio/msbuild/how-to-extend-the-visual-studio-build-process?view=vs-2022
発生している問題・分からないこと
手元のプロジェクトファイルで、AfterCompileターゲットのログが出力されませんでした。
既存のプロジェクトファイルの形式だとこのようなログが出されていました。
プロジェクト "HogeHoge.csproj" 内のターゲット "AfterCompile" のビルドが終了しました。
しかし、SDKスタイルのプロジェクトファイルでビルドしたらこのログが出てきません。
プロジェクトファイルの動作はSDKによって異なるように見えます。
"AfterCompile"は使えるのでしょうか?
該当のソースコード
xml
1こちらの記事にあるプロジェクトファイルを元に記載しました。 2https://qiita.com/m2tmk/items/c24e4d0eb30d820dd7b5 3 4<Project Sdk="Microsoft.NET.Sdk"> 5 <PropertyGroup> 6 <OutputType>Exe</OutputType> 7 <TargetFramework>net48</TargetFramework> 8 <WebJobName>$(AssemblyName)</WebJobName> 9 <WebJobType>Continuous</WebJobType> 10 </PropertyGroup> 11 <ItemGroup> 12 <None Include="App.config"> 13 <SubType>Designer</SubType> 14 </None> 15 <None Include="App.Debug.config"> 16 <DependentUpon>App.config</DependentUpon> 17 <SubType>Designer</SubType> 18 </None> 19 <None Include="App.Release.config"> 20 <DependentUpon>App.config</DependentUpon> 21 <SubType>Designer</SubType> 22 </None> 23 </ItemGroup> 24 <UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Web\Microsoft.Web.Publishing.Tasks.dll" /> 25 <Target Name="AfterCompile" Condition="exists('app.$(Configuration).config')"> 26 <TransformXml Source="app.config" Destination="$(IntermediateOutputPath)$(TargetFileName).config" Transform="app.$(Configuration).config" /> 27 <ItemGroup> 28 <AppConfigWithTargetPath Remove="app.config" /> 29 <AppConfigWithTargetPath Include="$(IntermediateOutputPath)$(TargetFileName).config"> 30 <TargetPath>$(TargetFileName).config</TargetPath> 31 </AppConfigWithTargetPath> 32 </ItemGroup> 33 </Target> 34 35</Project>
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
ビルドのログに"AfterCompile"のログが出ませんでした。
補足
特になし
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。