我想删除AssemblyInfo.cpp,因为有时会出现一些元数据错误。
AssemblyInfo.cpp对什么有用吗?或者可以毫无问题地删除它?
答案 0 :(得分:4)
我发现此文件有一个区别:它与调用Assembly.GetReferencedAssemblies
时报告的值有关。我正在通过将修订号嵌入到SVN存储库中来跟踪二进制文件的版本号。最初我也在更新AssemblyInfo.cpp
,并且在二进制文件的属性详细信息选项卡中未发现任何报告。在更新这些细节方面,这个文件似乎对我没有任何帮助,这对于csproj AssemblyInfo.cs
的类似更新来说是 not 。差异为何正确?
现在,在一个这样的csproj中,我们碰巧引用了一个vcxproj,并且csproj使用.NET Assembly.GetReferencedAssemblies
方法将所有引用的程序集的版本转储到日志中。我发现的是,该日志中报告的数字不是我添加的VS_VERSIONINFO
资源给出的vcxproj版本(它确实将版本详细信息输入到文件属性详细信息选项卡中)。相反,报告的数字实际上与AssemblyInfo.cpp
中定义的匹配。
因此,对于vcxproj文件,VS_VERSIONINFO
看起来能够更新您在文件属性详细信息选项卡下找到的内容,但AssemblyInfo.cpp
能够将版本公开给GetReferencedAssemblies
。在C#中,这两个报告领域似乎是统一的。也许有一种方法可以指导AssemblyInfo.cpp
以某种方式传播到文件详细信息中,但我最后要做的是在预建步骤中将构建信息复制到两个位置。也许有人可以找到更好的方法。
答案 1 :(得分:1)
为什么不修复错误?在那个问题上,你得到了什么错误?
此文件提供了一些信息,例如为了使用您构建的程序集所必需的版本号。
答案 2 :(得分:1)
到目前为止,我的托管c ++ dll中没有使用AssemblyInfo.cpp,所以我认为没有必要。
(我刚刚添加了文件以获取我的c ++ dll的版本信息)。