如何在ASP.NET Core中共享汇编信息?

时间:2017-01-03 09:23:46

标签: asp.net-core .net-core assemblyinfo

我正在使用ASP.NET Core开发REST Api。我曾经使用包含常见属性(如AssemblyCompany,AssemblyCopyright,AssemblyTrademark和AssemblyVersion)的共享文件在我的解决方案中共享汇编信息。这样,解决方案中的所有项目都将使用相同的程序集信息属性进行编译。

在ASP.NET Core中,这些属性现在在project.json文件中定义。有没有办法以类似的方式分享这些属性?

2 个答案:

答案 0 :(得分:1)

除AssemblyVersion外,您提到的程序集属性仍可在共享文件中定义。可以将此文件添加到“buildOptions”下的项目中。

示例:

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

有关详细信息,请参阅https://docs.microsoft.com/en-us/dotnet/articles/core/tools/project-json#buildoptions

无法共享AssemblyVersion,因为它始终是从 project.json 中的"version"值生成的。如果未指定,"version"默认为1.0.0。

如果其相应的字段在 project.json 中保留为空,则不会生成其他属性,例如AssemblyCopyright。

答案 1 :(得分:1)

如果其他人到这里来,并正在寻找一种适用于.Net Core> 2.1和新的.csproj项目文件的解决方案:

经过一番研究,我发现它可以使用父目录中的Directory.Build.props文件工作。您可以找到示例代码和更多信息in this repository