AssemblyInfo.cpp是否必要?

时间:2009-04-30 17:00:07

标签: c++-cli metadata assemblyinfo

我想删除AssemblyInfo.cpp,因为有时会出现一些元数据错误。

AssemblyInfo.cpp对什么有用吗?或者可以毫无问题地删除它?

3 个答案:

答案 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的版本信息)。