11

私はケーキビルドに非常に慣れていません。cakebuild を使って assemblyinfo.cs のバージョン情報を更新したい。

public static void CreateAssemblyInfo()メソッドは、assemblyinfo ファイルの内容全体を上書きします。しかし、更新するにはバージョン情報だけが必要です。

どうすればこれを達成できますか?

よろしく、 アラディヤ

4

2 に答える 2

10

静的なもの用と自動生成ビット用の 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);
});
于 2016-11-02T13:38:16.607 に答える