AssemblyInfo.cppは必要ですか?
-
03-07-2019 - |
質問
ときどき発生するいくつかのメタデータエラーのため、AssemblyInfo.cppを削除したい。
AssemblyInfo.cppは何かに役立ちますか?または、問題なく削除できますか?
解決
このファイルには1つの違いがあります。 < code> Assembly.GetReferencedAssemblies 。リビジョン番号を埋め込むことで、SVNリポジトリからバイナリのバージョン番号を追跡していました。最初は AssemblyInfo.cpp
を更新していましたが、バイナリのファイルプロパティの詳細タブで何も報告されていませんでした。 csprojの AssemblyInfo.cs
に対する同様の更新の場合、 ではなく、これらの詳細の更新に関しては、このファイルは何もしなかったようです。なぜ違いがあるのですか?
このようなcsprojの1つでvcxprojを参照すると、csprojは.NET Assembly.GetReferencedAssemblies
メソッドを使用して、参照されているすべてのアセンブリのバージョンをログにダンプします。私が発見したのは、そのログで報告されていた番号が、追加した VS_VERSIONINFO
リソースで指定されたvcxprojのバージョンではないことです(ファイルプロパティの詳細タブにバージョンの詳細を取得します)。代わりに、報告された数は AssemblyInfo.cpp
で定義された数と実際に一致していました。
したがって、vcxprojファイルの場合、 VS_VERSIONINFO
はファイルプロパティの詳細タブで見つけた内容を更新できますが、 AssemblyInfo.cpp
はバージョンを公開できます GetReferencedAssemblies
。 C#では、これらの2つのレポート領域は統一されているようです。何らかの方法で AssemblyInfo.cpp
をファイルの詳細に反映させる方法があるかもしれませんが、私がやろうとしているのは、ビルド前の手順でビルド情報を両方の場所に複製することです。誰かがより良いアプローチを見つけることができるかもしれません。
他のヒント
これまでのところ、管理対象のC ++ dllにAssemblyInfo.cppが含まれていなかったため、必要だとは思いません。
(c ++ dllのバージョン情報を保持するためにファイルを追加したばかりです。)
エラーを修正するだけではどうですか?そのメモでは、どのようなエラーが発生していますか?
このファイルは、ビルドしたアセンブリを使用するために絶対に必要なバージョン番号などの情報を提供します。