2017-01-03 51 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