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

vos*_*d01 23 .net c# vb.net visual-studio

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

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

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

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

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

vos*_*d01 35

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

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

<Project ...>
  [...]
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
Run Code Online (Sandbox Code Playgroud)

您可以通过添加另一个共享项目的元素来添加共享项目.例如:

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

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

  • 我希望在 Visual Studio 2017 中,您不必破解 .csproj 文件 (2认同)

the*_*guy 8

视觉工作室 2017:

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

依赖项或引用上下文菜单

参考管理器将打开。单击参考管理器左侧的“共享项目”

在此处输入图片说明

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

  • @MageXy 你确定这些是 Visual Studio 2017 的截图吗?我的 VS2017 没有“共享项目”/grr (5认同)
  • 这*应该*理论上也适用于 VS2015(相同的选项卡都存在)。但是,我遇到了由于某种原因未列出共享项目的问题。 (4认同)