web-dev-qa-db-ja.com

別のプロジェクトから共有コードプロジェクト(.shproj)への参照を追加する方法

Visual Studioで新しいユニバーサルアプリプロジェクトを作成すると、作成されたWindows Phone 8.1プロジェクトとWindows 8.1プロジェクト間でコードを共有できる共有プロジェクトが作成されました。

これで、共有コードを使用したい他のプロジェクトがあります。しかし、「参照の追加...」ウィンドウでそのプロジェクトを選択して追加する方法が表示されません。

既存のプロジェクトの1つから参照をコピーしようとすると、エラーが発生します。

致命的な障害(HRESULTからの例外:0x8000FFFF(E_UNEXPECTED))

「参照の貼り付け」をクリックすると、他のプロジェクトから共有プロジェクトを参照するにはどうすればよいですか?

23
vossad01

参照を追加するには、追加するプロジェクトファイルを編集する必要があります。役立つ場合は、すでに参照されているプロジェクトファイルをピークにして、実際の例を確認できます。

プロジェクトファイル(例:.csproj)の下部近くには、すでに<Import>などの要素

<Project ...>
  [...]
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

Sharedプロジェクトの要素と同様の別の要素を追加して、Sharedプロジェクトを追加します。例えば:

<Project ...>
  [...]
  <Import Project="..\Shared\Shared.projitems" Label="Shared" />
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

Label属性を「共有」に設定することが重要です。別の値に設定すると、Visual Studioによって共有プロジェクトとして認識されず、参照の下に表示されません。プロジェクトは、適切な「.projitems」ファイルへのパスに設定する必要があります。

35
vossad01

Visual Studio 2017:

ソリューションエクスプローラーで[参照]または[依存関係]項目を右クリックし、[参照の追加...]を選択します。

Dependencies or References context menu

参照マネージャーが開きます。参照マネージャーの左側にある「共有プロジェクト」をクリックします

enter image description here

次に、プロジェクトを選択して[OK]をクリックします。

5
theguy

TargetProject.csprojファイルにその文字列を追加します。

<Import Project="..\YourSharedProject\YourSharedProject.projitems" Label="Shared" Condition="Exists('..\YourSharedProject\YourSharedProject.projitems')" />
1
Morozov Damian

Visual Studioのバージョンを確認してください。 VS2017では、バージョン15.9のバグ修正があり、共有プロジェクトセレクターが表示されます。 [ツール]-> [更新]をクリックして、VSの最新バージョンを取得します

0
JoeyD