2017-01-03 52 views
8

我正在開發一個使用ASP.NET Core的REST API。我曾經使用包含常見屬性(如AssemblyCompany,AssemblyCopyright,AssemblyTrademark和AssemblyVersion)的共享文件在我的解決方案中共享程序集信息。通過這種方式,解決方案中的所有項目都將使用相同的組件信息屬性進行編譯。如何在ASP.NET Core中共享程序集信息?

在ASP.NET Core中,現在在project.json文件中定義了這些屬性。有沒有辦法以類似的方式分享這些屬性?

回答

2

除AssemblyVersion之外,您提到的程序集屬性仍然可以在共享文件中定義。該文件可以添加到項目「buildOptions」下。

實施例:

{ 
    "buildOptions": { 
    "compile": "../shared/AssemblyInfo.cs" 
    } 
} 

詳情請參閱https://docs.microsoft.com/en-us/dotnet/articles/core/tools/project-json#buildoptions

AssemblyVersion無法共享,因爲它總是從"version"project.json中生成。如果未指定,則"version"默認爲1.0.0。

如果其相應的字段在project.json中留空,則不會生成其他屬性,例如AssemblyCopyright。

+0

VS2017失敗後,新的基於msbuild的項目類型沒有使用project.json並且添加一個鏈接的文件,因爲我們一直能夠做到,因爲AssemblyInfo文件是在編譯時使用meta生成的項目中提供的數據。 – Daniel

+1

簽出這個答案在csproj中的裝配信息的一些細節。 http://stackoverflow.com/a/42183749/2526265 – natemcmaster