当我在Visual Studio中创建一个新的通用应用程序项目时,它创建了一个共享项目,让我在创建的Windows Phone 8.1和Windows 8.1项目之间共享代码。
现在我还有其他项目,我也想使用共享代码。但是,我没有看到在“添加引用...”窗口中添加选择该项目的方法。
如果我尝试从一个现有项目复制引用,我会收到错误:
灾难性故障(HRESULT异常:0x8000FFFF(E_UNEXPECTED))
当我点击“粘贴参考”时。如何从其他项目中引用共享项目?
添加引用将需要编辑要添加它的项目文件。如果它有帮助,您可以在已经引用它的项目文件中达到峰值,以查看工作示例。
在项目文件的底部附近(例如,.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”文件的路径。
在TargetProject.csproj文件中添加该字符串:
<Import Project="..\YourSgaredProject\YourSgaredProject.projitems" Label="Shared" Condition="Exists('..\YourSgaredProject\YourSgaredProject.projitems')" />