通过反射访问project.json元数据?

时间:2015-08-13 04:00:49

标签: asp.net-core

是否可以从已部署的应用程序访问project.json元数据?

例如,在.NET 4.5项目中,我会像这样装饰我的应用程序

[assembly: AssemblyProduct("My App")]
[assembly: AssemblyConfiguration("Debug")]
[assembly: AssemblyVersion("4.5.1.*")]
[assembly: AssemblyInformationalVersion("Developer Build")]

然后在应用程序启动时,使用反射来读取这些值并将它们写入日志。用例是因为很容易验证在野外正在运行的构建。

是否可以反映project.json元数据?例如:

"version": "1.0.0-*",
"description": "My app - acme widget factory",
"authors": [ "gbshaw" ],
"tags": [ "widget acme" ],

1 个答案:

答案 0 :(得分:1)

据我所知(至少在Beta 6中),唯一可以反映的project.json属性是version

使用问题中指定的相同project.json,然后构建我的构建服务器将DNX_BUILD_VERSION设置为foobar的应用程序,然后ILSpy仅显示这些属性

[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0-foobar")]

但您仍然可以使用传统的装配属性。 AssemblyVersionAssemblyInformationalVersion属性实际上会覆盖project.json version