これは私を夢中にさせています。アプリケーションの一部のレガシー関数を更新および置換するために、VB6 DLL ラッパーで使用される .NET COM DLL を開発しました。
私は現在、クライアント マシンで regasm を使用する要件を取り除こうとしているので、すべて正常に動作するテスト DLL でそれを行う方法を考え出しました。
念のため DLL を分岐し、app.manifest ファイルを追加しました。他のすべてはうまくいき、すべてうまくいきました。マニフェストが埋め込まれ、Visual Studio 2012 がリリース フォルダーに mydll.dll.manifest ファイルを生成します。
次に、元のトランクに戻り、app.manifest ファイルを追加しました (コードの変更がないため、マージしても意味がありません)。ブランチの内容を app.manifest ファイルにコピーし、リリース バージョンをビルドしました。マニフェストは DLL に埋め込まれていますが、mydll.dll.manifest ファイルは生成されません。
mydll.dll.manifest ファイルが必ずしも必要ではないことはわかっていますが、一貫性を持たせたい (そして、何らかの理由でテスト プロセスがトランク バージョンと同じ結果を生成しない) ため、どうすれば強制できますか?それは作成されますか?
これは VB.NET DLL プロジェクトであるため、最初の回答 hereに記載されている「マニフェストの生成」プロパティのドロップダウンがありません (または見つかりません) 。どうすればこれを設定できますか? または、プロジェクトファイルを直接編集して設定する方法はありますか?
参考文献:
- 元のチュートリアル記事といくつかの修正。
- Junfeng Zhang による2 つの記事と便利なツールによる概要