Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
162 views
in Technique[技术] by (71.8m points)

c# - How do I add a reference to a Shared Code project (.shproj) from another project

When I created a new universal app project in Visual Studio it created a shared project that let me share code between the Windows Phone 8.1 and Windows 8.1 projects that were created.

Now I have other projects that I would also like to use that shared code. However, I do not see a way to add select that project in the "Add Reference..." window.

If I try to copy the reference from one of the existing projects I get the error:

Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))

when I click 'Paste Reference'. How do I reference the shared project from other projects?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Adding the reference will require editing the project files where you want to add it. If it helps, you can peek at the project file where it is already referenced to see a working example.

Near the bottom of the project file (ex, a .csproj) there is likely already an <Import> element such as

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

You add the Shared project by adding another element like that for the Shared project. For example:

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

It is important for the Label attribute to be set to "Shared." If you set it to something else it will not be recognized as a Shared project by Visual Studio and will not appear under References. Project should be set to the path to the appropriate ".projitems" file.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...