AssemblyInfo.cpp是否必需?

问题描述:

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

AssemblyInfo.cpp是有用的任何东西?或者它可以被删除没有任何问题?

我发现这个文件有一个区别:它与调用Assembly.GetReferencedAssemblies时报告的值有关。我正在通过将修订号嵌入到SVN存储库中来跟踪我们的SVN存储库中的二进制文件的版本号。最初,我也在更新AssemblyInfo.cpp,发现二进制文件属性详细信息选项卡中没有任何报告。似乎这个文件在更新这些细节方面没有为我做任何事情,这是而不是与csproj的AssemblyInfo.cs类似更新的情况。为什么区别对吧?

现在在一个这样的csproj中,我们碰巧引用了vcxproj,并且csproj将使用.NET Assembly.GetReferencedAssemblies方法将其所有引用程序集的版本转储到日志中。我发现,该日志中报告的数字不是我添加的VS_VERSIONINFO资源(它将版本详细信息导入文件属性详细信息选项卡)中给出的vcxproj版本。相反,报告的数字实际上与AssemblyInfo.cpp中定义的数字匹配。

所以对于vcxproj文件,它看起来像VS_VERSIONINFO能够根据文件属性进行更新,你找到的内容的细节选项卡,但AssemblyInfo.cpp能够版本暴露GetReferencedAssemblies的。在C#中,这两个报告领域似乎是统一的。也许有一种方法可以让AssemblyInfo.cpp以某种方式传播到文件细节中,但是我将要做的是在构建步骤中将构建信息复制到两个位置。也许有人可以找到更好的方法。

为什么不只是修复错误?在那张纸上,你会得到什么错误?

该文件提供了一些信息,例如为了使用您构建的程序集而确定需要的版本号。

+0

错误在http://*.com/questions/810827/lnk2022-metadata-operation-failed-driving-me-insane中描述...至于文件是如何“绝对需要”,好像它似乎没有它就能正常工作?!? – demoncodemonkey 2009-05-01 09:58:49

到目前为止,我从来没有在我的托管C++ dll中使用AssemblyInfo.cpp,所以我不认为这是必要的。

(我刚刚添加了文件以获取我的C++ dll的版本信息)。