.net 核心项目中的 SharedAssemblyInfo 是否等效?
SharedAssemblyInfo equivalent in .net core projects?
当我希望一个解决方案中的多个项目共享相同的程序集信息(主要是 AssemblyVersion)时,我曾经使用这里解释的技术:https://blogs.msdn.microsoft.com/jjameson/2009/04/03/shared-assembly-info-in-visual-studio-projects/
现在我们正在研究 .net 核心和 asp.net 核心项目的解决方案,我们希望所有项目共享相同的 AssemblyVersion,但现在每个项目的版本都存储在它的 .csproj 文件中(我们正在使用 vs2017)
我尝试使用 <GenerateAssemblyProductAttribute>true</GenerateAssemblyProductAttribute>
生成信息,但新文件是在构建时创建的
有没有办法像 "old" SharedAssemblyInfo.cs 那样集中这些信息?
您可以在要为其设置默认属性的所有 .csproj 文件上方添加一个 Directory.Build.props
文件。此 .props
文件将自动导入到其下方的所有 .csproj
文件中。可以在里面设置常用属性:
<Project>
<PropertyGroup>
<Company>Erhardt Enterprises</Company>
<Copyright>Erhardt Enterprises ©</Copyright>
</PropertyGroup>
</Project>
并且这些 MSBuild 属性将应用于其下的所有 .csproj
文件。因此,当生成程序集属性时,这些值将用于所有项目。
这里是 mapping of all MSBuild properties to assembly attributes.
您可以创建.props 文件(例如common.props)并将常用的项目配置放在该文件中:
common.props:
<Project>
<PropertyGroup>
<AspNetCoreVersion>2.0.0</AspNetCoreVersion>
</PropertyGroup>
</Project>
project1.csproj:
<Project Sdk="Microsoft.NET.Sdk.Web">
<Import Project=".\common.props" />
...
</Project>
project2.csproj:
<Project Sdk="Microsoft.NET.Sdk.Web">
<Import Project=".\common.props" />
...
</Project>
您可以找到更多关于此的信息link
当我希望一个解决方案中的多个项目共享相同的程序集信息(主要是 AssemblyVersion)时,我曾经使用这里解释的技术:https://blogs.msdn.microsoft.com/jjameson/2009/04/03/shared-assembly-info-in-visual-studio-projects/
现在我们正在研究 .net 核心和 asp.net 核心项目的解决方案,我们希望所有项目共享相同的 AssemblyVersion,但现在每个项目的版本都存储在它的 .csproj 文件中(我们正在使用 vs2017)
我尝试使用 <GenerateAssemblyProductAttribute>true</GenerateAssemblyProductAttribute>
生成信息,但新文件是在构建时创建的
有没有办法像 "old" SharedAssemblyInfo.cs 那样集中这些信息?
您可以在要为其设置默认属性的所有 .csproj 文件上方添加一个 Directory.Build.props
文件。此 .props
文件将自动导入到其下方的所有 .csproj
文件中。可以在里面设置常用属性:
<Project>
<PropertyGroup>
<Company>Erhardt Enterprises</Company>
<Copyright>Erhardt Enterprises ©</Copyright>
</PropertyGroup>
</Project>
并且这些 MSBuild 属性将应用于其下的所有 .csproj
文件。因此,当生成程序集属性时,这些值将用于所有项目。
这里是 mapping of all MSBuild properties to assembly attributes.
您可以创建.props 文件(例如common.props)并将常用的项目配置放在该文件中:
common.props:
<Project>
<PropertyGroup>
<AspNetCoreVersion>2.0.0</AspNetCoreVersion>
</PropertyGroup>
</Project>
project1.csproj:
<Project Sdk="Microsoft.NET.Sdk.Web">
<Import Project=".\common.props" />
...
</Project>
project2.csproj:
<Project Sdk="Microsoft.NET.Sdk.Web">
<Import Project=".\common.props" />
...
</Project>
您可以找到更多关于此的信息link