時々起こるいくつかのメタデータエラーのため、AssemblyInfo.cppを削除します。AssemblyInfo.cppは必要ですか?
AssemblyInfo.cppは何かに役立ちますか?それとも問題なく削除できますか?
時々起こるいくつかのメタデータエラーのため、AssemblyInfo.cppを削除します。AssemblyInfo.cppは必要ですか?
AssemblyInfo.cppは何かに役立ちますか?それとも問題なく削除できますか?
私はこのファイルに1つの違いがあることを発見しました。これは、Assembly.GetReferencedAssemblies
への呼び出しで報告された値と関係しています。 SVNリポジトリのリビジョン番号を埋め込むことで、私たちのバイナリのバージョン番号を追跡していました。最初は私もAssemblyInfo.cpp
を更新していましたが、バイナリのファイルプロパティの詳細タブには何も報告されていません。このファイルは、ではなく、であり、csprojのAssemblyInfo.cs
と同様のアップデートのケースであった。なぜ違いが正しいのでしょうか?
このようなcsprojでは、vcxprojを参照し、csprojは、.NET Assembly.GetReferencedAssemblies
メソッドを使用して、参照されているすべてのアセンブリのバージョンをログにダンプします。私が発見したのは、ログに記録されていた番号が、私が追加したVS_VERSIONINFO
リソース(ファイルの詳細の詳細タブにバージョンの詳細が表示されます)によって与えられたvcxprojのバージョンではありませんでした。代わりに、報告された数値は実際にはAssemblyInfo.cpp
で定義された数値と一致していました。
したがって、はファイルプロパティの詳細タブで見つかった内容を更新できますが、AssemblyInfo.cpp
はバージョンをGetReferencedAssemblies
に公開することができます。 C#では、これらの2つの報告領域が統一されているようです。おそらく、AssemblyInfo.cpp
をファイルの詳細に伝播させる方法があるかもしれませんが、私がやるべきことは、ビルド情報をビルド前のステップで両方の場所に複製することです。たぶん誰かがより良いアプローチを見つけることができます。
なぜエラーを修正しないのですか?そのメモでは、あなたはどんなエラーを出していますか?
このファイルは、作成したアセンブリを使用するために必要なバージョン番号などの情報を提供します。
これまでのところ、管理されたC++のDLLにはAssemblyInfo.cppがありませんでしたので、必要ではないと思います。
(ファイルを追加して、自分のC++ dllのバージョン情報を取得したばかりです)。
エラーはhttp://stackoverflow.com/questions/810827/lnk2022-metadata-operation-failed-driving-me-insane ...に記載されています。ファイルがどのように "間違いなく"必要であるかはよくわかりますそれなしでうまく動作するのですか? – demoncodemonkey
この情報がなければ、コンパイラはアセンブリが1.正しいものであるかどうかを判断できません。リンクした問題は、アセンブリのビルド間の不一致につながります。これを中和することで、コンパイラは違いがあると判断できないため、不一致エラーは発生しなくなりました。 – NotMe
だから、あなたは問題を解決していません。代わりにあなたはそれを隠しただけです。 – NotMe