4

VS2010 拡張機能を作成しています ( と呼びましょうMyExtension)。この拡張機能の UI は別のアセンブリ ( MyExtension.UI) にあります。拡張機能プロジェクトには、メニュー コマンドから UI を呼び出す定型コードのみが含まれています。

MyExtension.UIローカライズされたリソース (例: fr\MyExtensions.UI.resources.dll) が含まれていますが、VSIX パッケージにはこれらのリソースが含まれていません (bin\Debug ディレクトリに存在しますが)。

これらのリソースを VSIX パッケージに含めるように VS に指示するにはどうすればよいですか? .vsixmanifest デザイナーを調べましたが、適切なオプションが見つかりません...

4

2 に答える 2

5

これは実際にはバグであり、将来のリリースで対処される予定です。幸いなことに、簡単な回避策があります。

  1. ソリューション エクスプローラーで「MyExtension.UI」へのプロジェクト参照ノードを選択し、プロパティ (F4) を表示します。
  2. 「VSIX に含まれる出力グループ」の値を次のように変更します。BuiltProjectOutputGroup;BuiltProjectOutputGroupDependencies;GetCopyToOutputDirectoryItems;SatelliteDllsProjectOutputGroup
于 2011-08-08T05:13:49.880 に答える
0

@JohnField - 同じエラーが発生しました - 「'...' でアセンブリの完全な名前を特定できませんでした」 - 他の誰かが同じ問題に遭遇した場合に備えて、ここに修正をリストしたいと思いました。

私の問題は、参照されたアセンブリへの ProjectReference と、.vsixmanifest ファイルにアセンブリをアセットとしてリストしたことです。「出力ディレクトリにコピー」項目を参照アセンブリに追加すると、VS SDK は、追加したアセンブリ アセットがアセンブリ専用であると見なすため、混乱します。余分な CopyToOutputDirectory アイテムが表示され、それがアセンブリであると認識され、それを読み込もうとします。

修正は、アセンブリを .vsixmanifest の資産として削除することでした。プロジェクトは既に参照されており、結果の .vsix にアセンブリが含まれているため、これは必要ありません。実は、AssetType の "Microsoft.VisualStudio.Assembly" という不適切な名前は、実際にはテンプレート ウィザード用です。

于 2015-02-28T22:36:35.310 に答える