我可以通过手动编辑.rc文件,在Visual Studio中将自定义版本字符串添加到C ++ DLL中。例如,如果我添加到.rc文件的VersionInfo部分
VALUE "BuildDate", "2008/09/19 15:42:52"
然后该日期在文件资源管理器中,在DLL的属性中,在“版本”选项卡下可见。
我可以为C#DLL执行相同的操作吗?不仅适用于构建日期,还适用于其他版本信息(例如源代码管理信息)
更新:我认为可能有办法通过嵌入Windows资源来实现这一点,所以我asked how to do that。
答案 0 :(得分:5)
扩展Khoth的答案,在AssemblyInfo.cs中:
你可以这样做:
[assembly: CustomResource("Build Date", "12/12/2012")]
CustomResource定义为:
[AttributeUsage(AttributeTargets.Assembly)]
public class CustomResourceAttribute : Attribute
{
private string the_variable;
public string Variable {get { return the_variable; }}
private string the_value;
public string Value {get { return the_value; }}
public CustomResourceAttribute(string variable, string value)
{
this.the_variable = variable;
this.the_value = value;
}
}
这个解决方案很不错,因为它为您提供了所需的灵活性,并且不会导致任何编译器警告。
不幸的是,无法使用DateTime,因为在Attributes中输入的值必须是常量,而DateTime不是常量。
答案 1 :(得分:4)
在AssemblyInfo.cs中,您可以输入:
[assembly: System.Reflection.AssemblyInformationalVersion("whatever you want")]
这是一个编译器警告,如果它不是像1.2.3.4那样的数字,但我相当一切都会有效。