私はケーキビルドに非常に慣れていません。cakebuild を使って assemblyinfo.cs のバージョン情報を更新したい。
public static void CreateAssemblyInfo()
メソッドは、assemblyinfo ファイルの内容全体を上書きします。しかし、更新するにはバージョン情報だけが必要です。
どうすればこれを達成できますか?
よろしく、 アラディヤ
静的なもの用と自動生成ビット用の 2 つのファイルがあります。
私が通常適用するパターンは、SolutionInfo.cs
プロジェクト間で共有される と、AssemblyInfo.cs
プロジェクトごとに固有のプロジェクトごとの を用意することです。
フォルダ構造の例は次のとおりです。
src
| Solution.sln
| SolutionInfo.cs
|
\--- Project
| Project.csproj
|
\---Properties
AssemblyInfo.cs
基本的に、csproj ファイルは次の代わりになります。
<Compile Include="Properties\AssemblyInfo.cs" />
次のようになります。
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\SolutionInfo.cs">
<Link>Properties\SolutionInfo.cs</Link>
</Compile>
このようにして、手動で編集した内容を保持し、AssemblyInfo.cs
その情報を上書きするリスクなしに安全に自動生成できます。
これにより、ソリューション内のプロジェクト間でバージョン/著作権/会社などを共有することもできます。
これの Cake ビルド スクリプト部分は次のようになります。
Task("SolutionInfo")
.IsDependentOn("Clean")
.IsDependentOn("Restore")
.Does(() =>
{
var file = "./src/SolutionInfo.cs";
CreateAssemblyInfo(file, assemblyInfo);
});