15

Visual Studio 2012とTFSを使用してチーム内のVSPackageで作業しています。複数のマシンで開発するときにVSPackageを実行できません

拡張子は、ウィザードを使用して作成するために使用したコンピュータで正常に動作します。別のコンピュータでは、Visual Studioでは、「クラスライブラリの出力タイプを持つプロジェクトは、F5キーを使用して実行しようとすると直接起動できません」と表示されます。

プロジェクトの出力は実際にはクラスライブラリで、最初のマシンでF5キーを押すと、Visual Studioの実験的インスタンスがロードされて動作します。

2台目のコンピュータで "%LOCALAPPDATA%\ Microsoft \ VisualStudio \ 11.0Exp \ Extensions"を見ると、拡張機能がビルドされており、VSに登録しようとしていることがわかります。 また、2台目のコンピュータに別の拡張機能を作成し、1台目のマシンでそれを実行しようとしました。同じエラーが表示されます。

エクステンションを作成するのに使用されなかったコンピュータでエクステンションを実行するにはどうすればよいですか?

+0

私は、同じマシン上でこの問題を持っている:新しい '\ \のDev-2:私はパス' Cに同じソースコードをチェックアウトし、 '\ \のDev-1:メインソースコードはパス' C上にありますコピーは私にあなたが得るのと同じエラーを与える。 –

+2

'rootSuffix exp2'などでVisual Studioを起動しようとすると、新しいコピーがVSの新しい実験的インスタンスに移動し、' C:\ Dev-1'の拡張子と衝突しません –

+0

@ Matzeの答えはこの問題を解決しました。ありがとう。 –

答えて

31

Visual Studioのパッケージプロジェクトの種類は、性質がVISXという名前の表示プロジェクトに追加]タブが追加されます。そのタブでは、Deploy VSIX content to experimental instance for debuggingオプションがデフォルトでオンになっています。それがパッケージファイルがビルド後に現在のユーザーのプロファイルのextensionsディレクトリにコピーされる理由です。

実験的なハイブを使用してVisual Studioを起動する場合は、クラスライブラリプロジェクトのDebugの設定をカスタマイズする必要があります。 Start external programStart Actionを設定し、devenv.exeファイルを選択します(file's場所は、インストールフォルダに依存)、以下のコマンドライン引数を指定します。

/rootSuffix Exp 

これは、F5キーを押して、拡張をデバッグすることができます。

+4

ありがとう!問題をさらに詳しく説明するために、この特定の情報はProjectname.csproj.userファイルに格納されています.TFS上では共有されていないようですが、含まれている変更や除外された変更のどちらでもありません。これは、各マシンで実行する必要がある手動の修正となります。 –

+1

あなたは正しいです。デフォルトで.userファイルは保留中の変更の一覧から無視されます(理由があります)。 – Matze

+0

はい、同じ問題がローカルコントロールをソースコントロールに入れた後です。 .userファイルがチェックインされておらず、問題が発生しました。 –

関連する問題