c#AssemblyInfo.cs“bug”

前端之家收集整理的这篇文章主要介绍了c#AssemblyInfo.cs“bug”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有人可以解释如何正确制作装配信息吗?

这是我的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")]

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

您可以看到Description和Language与AssemblyInfo.cs中的不同.

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

我究竟做错了什么?

解决方法

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#编译器.您不太可能喜欢它,不断更新和重新编译资源脚本以保持版本号同步将快速磨损您,除非您可以自动化.

猜你在找的C&C++相关文章