如何从另一个项目添加对共享代码项目(.shproj)的引用

时间:2014-06-18 20:59:18

标签: c# .net vb.net visual-studio

当我在Visual Studio中创建一个新的通用应用程序项目时,它创建了一个共享项目,让我在创建的Windows Phone 8.1和Windows 8.1项目之间共享代码。

现在我还有其他项目,我也想使用该共享代码。但是,我没有看到在"添加引用中添加选择该项目的方法..."窗口。

如果我尝试从其中一个现有项目中复制引用,我会收到错误:

  

灾难性故障(HRESULT异常:0x8000FFFF   (E_UNEXPECTED))

当我点击“粘贴参考”时。如何从其他项目中引用共享项目?

5 个答案:

答案 0 :(得分:34)

添加引用将需要编辑要添加它的项目文件。如果有帮助,您可以在已经引用的项目文件中达到峰值,以查看工作示例。

靠近项目文件的底部(例如.csproj),可能已经存在<Import>元素,例如

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

通过添加另一个共享项目的元素来添加共享项目。例如:

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

将Label属性设置为“Shared”非常重要。如果将其设置为其他内容,则Visual Studio将不会将其识别为共享项目,并且不会显示在“引用”下。应将项目设置为相应“.projitems”文件的路径。

答案 1 :(得分:3)

Visual Studio 2017:

右键单击解决方案资源管理器中的引用或依赖项,然后选择&#34;添加引用...&#34;

Dependencies or References context menu

参考管理器将会打开。点击&#34;共享项目&#34;在参考管理器的左侧

enter image description here

然后选择您的项目并单击“确定”。

答案 2 :(得分:1)

TargetProject.csproj 文件中添加该字符串:

<Import Project="..\YourSgaredProject\YourSgaredProject.projitems" Label="Shared" Condition="Exists('..\YourSgaredProject\YourSgaredProject.projitems')" />

答案 3 :(得分:0)

检查您的Visual Studio版本。在VS2017中,有一个针对15.9版的错误修复,它将显示Shared Project选择器。单击工具->更新以获取最新版本的VS

答案 4 :(得分:-2)

查看Shared Project Reference Manager扩展程序。