我有一个.NET Core应用程序,在构建期间使用.csproj中的标准选项设置元数据属性:
<Project>
<PropertyGroup>
<Product>MyCoolProduct</Product>
<Version>0.1.1</Version>
</PropertyGroup>
<snip />
</Project>
在Windows上,从已编译的.dll中检索这个信息很容易,无论是在资源管理器中还是通过PowerShell脚本。在Linux上我该怎么做类似的事情呢?理想情况下,我希望能够运行一个简单的命令,如dotnet inspect my.dll
,并获得该程序集的元数据摘要,但最接近的替代方案是什么呢?
crossgen
问题吗?我在手动构建(dotnet build
)时看到它可以工作,但是当.dlls
由dockerfile
构建时失败了,猜测这可能与此有关? - superstatordocker
不应该创建 crossgen'ed 的东西。但是 mono 链接器会这样做。哦,还有要详细说明的是,Windows 也不会显示那些经过 crossgen 处理的文件的版本。如果 Windows 资源管理器可以显示 dll 的版本,那么exiftool
也应该可以。 - omajidexiftool
,但它似乎非常有用,尽管也是为什么你不应该给你的应用程序太具体的名称的一个例子 :) - Tobias J