Dot-Net-Core
.net 核心項目中的 SharedAssemblyInfo 等效項?
當我希望解決方案中的多個項目共享相同的程序集資訊(主要是 AssemblyVersion)時,我曾經使用此處解釋的技術:https ://blogs.msdn.microsoft.com/jjameson/2009/04/03/shared-裝配資訊在視覺工作室項目/
現在我們正在研究 .net core 和 asp.net core 項目的解決方案,我們希望所有項目共享相同的 AssemblyVersion,但現在每個項目的版本都儲存在它的 .csproj 文件中(我們使用的是 vs2017)
我嘗試使用生成資訊,
<GenerateAssemblyProductAttribute>true</GenerateAssemblyProductAttribute>但新文件是在建構時創建的有沒有辦法像“舊的” SharedAssemblyInfo.cs 那樣集中這些資訊?
Directory.Build.props您可以在要為其設置預設屬性的所有 .csproj 文件上方添加一個文件。這個.props文件會自動導入.csproj到它下面的所有文件中。您可以在其中設置常用屬性:<Project> <PropertyGroup> <Company>Erhardt Enterprises</Company> <Copyright>Erhardt Enterprises ©</Copyright> </PropertyGroup> </Project>這些 MSBuild 屬性將適用於
.csproj它下面的所有文件。因此,當生成程序集屬性時,這些值將在所有項目中使用。
您可以創建 .props 文件(例如 common.props)並將通用項目配置放在此文件中:
common.props:
<Project> <PropertyGroup> <AspNetCoreVersion>2.0.0</AspNetCoreVersion> </PropertyGroup> </Project>項目1.csproj:
<Project Sdk="Microsoft.NET.Sdk.Web"> <Import Project=".\common.props" /> ... </Project>項目2.csproj:
<Project Sdk="Microsoft.NET.Sdk.Web"> <Import Project=".\common.props" /> ... </Project>您可以在此連結上找到更多資訊