2017-03-09 18 views
0

現在、C#VSIXプロジェクトで作業しています。このソリューションには、ItemTemplateファイルを含むVSIXプロジェクトと、クラスライブラリとして出力するProjectTemplateプロジェクトがあります。Visual Studio VSIXプロジェクト、.vsixがインストールされているときにプロジェクトテンプレートの参照が見つかりません。

ProjectTemplate-projectはローカルの.dllファイルを参照し、VSIXプロジェクトはProjectTemplate-projectを参照します。実験的なインスタンスで起動すると、すべてがうまく動作します。リリースをビルドして自分のマシンにインストールするときは、すべてが正常です。 .vsixファイルを別のマシンにインストールすると、すべてのテンプレートが想定どおりに追加されますが、プロジェクトテンプレートは.dll参照をもう見つけられません。

画像を投稿するのに十分な担当者がいませんが、私が得るエラーは一般的な欠落している指示またはアセンブリの参照です。 (エラーコード:CS0246)

どのように参照を壊さないようにしますか?

projectTemplateへの参照は、SideWaffle拡張で行われることに注意してください。

TL: ProjectTemplateのローカル.dllファイルへの参照は、別のコンピュータで.vsix-fileを実行した後に中断します。

編集:だから、基本的には、ターゲットマシンに.dllファイルを展開して参照が破られないようにしたいと思っています。しかし、私はただ.vsixファイルを送信する必要があります。

+0

しかし、DLLは他のコンピュータに展開されていますか? – rene

+0

@reneいいえ、私は.vsixファイルのみをコピーします。ローカルの.dllファイルをどのようにインクルードしてターゲットマシンにデプロイして、参照が壊れないようにするのだろうかと思います。私は質問でそれを明確にします。 – Erik

+0

多分これを試してください:http://stackoverflow.com/questions/22630460/how-to-include-vsix-output-in-its-package – rene

答えて

1

@reneのおかげで、この投稿:How to include VSIX output in it's package?といくつかの周りには、私はそれを動作させることができた。 にこれらVSIXProjectのプロパティを設定します。


は、「ローカルの展開でデバッグシンボルを含める」
は「VSIXコンテナにアセンブリを含める」
「出力ディレクトリにコピーデバッグシンボル」「コピー出力ディレクトリに出力を構築します」
"SIXコンテナにデバッグシンボルを含める"

さらに、.dllファイルをVSIXプロジェクトとProjectTemplate-Projectに追加します。 .vsixを別のマシンで実行すると、ProjectTemplateを使用して.dllを新規プロジェクトフォルダに追加し、参照の正しいパスプロパティを設定します。

+0

あなたの答えを記入することを忘れないでください!スタックオーバーフローへようこそ。 –

関連する問題