Visual Studioで新しいユニバーサルアプリプロジェクトを作成すると、作成されたWindows Phone 8.1プロジェクトとWindows 8.1プロジェクト間でコードを共有できる共有プロジェクトが作成されました。
これで、共有コードを使用したい他のプロジェクトがあります。しかし、「参照の追加...」ウィンドウでそのプロジェクトを選択して追加する方法が表示されません。
既存のプロジェクトの1つから参照をコピーしようとすると、エラーが発生します。
致命的な障害(HRESULTからの例外:0x8000FFFF(E_UNEXPECTED))
「参照の貼り付け」をクリックすると、他のプロジェクトから共有プロジェクトを参照するにはどうすればよいですか?
参照を追加するには、追加するプロジェクトファイルを編集する必要があります。役立つ場合は、すでに参照されているプロジェクトファイルをピークにして、実際の例を確認できます。
プロジェクトファイル(例:.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」ファイルへのパスに設定する必要があります。
TargetProject.csprojファイルにその文字列を追加します。
<Import Project="..\YourSharedProject\YourSharedProject.projitems" Label="Shared" Condition="Exists('..\YourSharedProject\YourSharedProject.projitems')" />
Visual Studioのバージョンを確認してください。 VS2017では、バージョン15.9のバグ修正があり、共有プロジェクトセレクターが表示されます。 [ツール]-> [更新]をクリックして、VSの最新バージョンを取得します