【问题标题】:c# AssemblyInfo.cs "bug"c#AssemblyInfo.cs“错误”
【发布时间】:2013-11-18 13:34:24
【问题描述】:

有人能解释一下如何正确制作程序集信息吗?

这是我的 AssemblyInfo.cs:

[assembly: AssemblyTitle("Title")]
[assembly: AssemblyDescription("Description")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Mycompany")]
[assembly: AssemblyProduct("ProductName")]
[assembly: AssemblyCopyright("Copyright ©")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

[assembly: ComVisible(true)]

[assembly: Guid("xxxxxx-xxxxx-xxxxx")]    

[assembly: AssemblyVersion("1.0")]
[assembly: AssemblyFileVersion("1.0")]
[assembly: NeutralResourcesLanguageAttribute("en")]

这就是它在属性窗口中的显示方式:

您可以看到描述和语言与 AssemblyInfo.cs 中的不同。

AssemblyCompany 也有问题,因为当我在 ccleaner 中打开启动密钥时,我的程序的公司字段为空...

我做错了什么?

【问题讨论】:

  • 我无法快速找到详细信息,但是您在此处设置了 assembly 信息(.NET),而并非所有这些属性都传播到 可执行文件 (Win32 PE)。详细信息选项卡显示后者的详细信息。至于标题/描述混淆:AssemblyTitle:“为该属性指定的信息出现在程序集的 Windows 文件属性对话框的详细信息选项卡上。属性名称为 文件描述".
  • NeutralResourcesLanguageAttribute 用于 .net 程序集。语言属性供非托管使用。
  • 看起来 AssemblyTitle("Title") 映射到文件描述。仅从代码和屏幕截图来看,这似乎很明显。

标签: c# .net-assembly


【解决方案1】:

Windows 不知道有关托管程序集属性的 bean。您实际看到的是嵌入在程序集中的非托管资源。 C# 编译器从 AssemblyInfo.cs 文件中的属性值自动生成它。您可以使用 File + Open + File 自己查看,选择您的 .dll 或 .exe 文件。双击 Version.1 资源会打开非托管资源编辑器,即您在 C++ 项目中使用的编辑器。

从托管属性到非托管版本资源的映射不完善。请注意,例如,您看不到 [AssemblyVersion] 属性值。在 .NET 中极为重要,Windows 只显示 [AssemblyFileVersion] 属性值。

文化当然是这样一种阻抗不匹配。包含代码的 .NET 程序集始终将 AssemblyName.CultureName 设置为“*”。只有附属程序集才有文化。并且标题与描述,非托管版本资源只有一个符合条件的字段,他们选择 [AssemblyTitle] 映射到该字段。

您可以使用资源脚本创建自己的非托管版本资源,使用 rc.exe 对其进行编译。您可以使用 Project + Properties、Application 选项卡、Resource file 单选按钮来告诉 C# 编译器。你不太可能喜欢它,不断更新和重新编译资源脚本以保持版本号同步会让你很快筋疲力尽,除非你可以自动化。

【讨论】:

  • 我正在使用 Visual Studio Express,所以我没有资源编辑器...是否有一些教程可以让我学习设置 .exe 属性的正确方法(ccleaner 图片上的所有程序都有发布者名称,所以必须有一些“正常”且简单的方法来做到这一点)?
  • 它几乎肯定会显示 AuthentiCode 证书的发布者。是的,他们很正常。不,“容易”这个词并不完全正确。证书需要花钱,您将花费数百美元让另一家公司向您的客户证明您是值得信赖的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-09
  • 1970-01-01
  • 2012-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-08
相关资源
最近更新 更多