我有一个C#项目,并指定了程序集和文件版本。 但是在Project.exe的属性/详细信息下,字段文件版本为空。我是否必须在项目设置中设置某些内容或者这是正常的行为?
Assembly.cs:
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Application")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Firm")]
[assembly: AssemblyProduct("Application")]
[assembly: AssemblyCopyright("Firm © 2014")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("long guid")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersionAttribute("1.0.1")]
答案 0 :(得分:0)
仔细检查可执行项目的AssemblyInfo.cs文件,确保该文件正确设置了属性[assembly: AssemblyFileVersion("1.0.0.0")]
(其中1.0.0.0是您想要的版本)。
答案 1 :(得分:0)
所以,我已经通过以下方式解决了我的问题:
所以问题是:如果你为你的图标指定了一个Win32资源,那么输出exe中就不会嵌入任何清单文件。在这种情况下,您可能必须向此资源添加版本资源以包含版本数据。在这种情况下,您必须手动为每个构建定义版本,构建等(我没有找到其他方法来避免此行为)。奇怪的是,即使不添加版本资源,软件本身仍然可以从自己的AssemblyInformation获取数据。