有人可以解释如何正确制作装配信息吗?
这是我的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#编译器.您不太可能喜欢它,不断更新和重新编译资源脚本以保持版本号同步将快速磨损您,除非您可以自动化.