Visual Studio 2015 - Shared Projects Reference Tab Missing on Web Project

两盒软妹~` 提交于 2019-12-03 06:49:55

问题


I upgraded to Visual Studio 2015 from our MSDN subscription because I was pretty excited to read about Shared Projects... No more managing 21382 nuget packages in our dependencies when all we want to do is reuse code.

So I built a test shared project with some code in it. Then I add a new empty web application on .Net 4.6 to the project. Now I expected to go to references and see a "Shared Projects" tab on the references window, but I do not see one.

Now I can add a class library to the same solution and I see the tab and can add the shared reference. However I cannot add the shared project to my web application.

I was rather hoping I could use this concept to share views with multiple MVC projects.

Am I missing something here, or are shared projects not compatible with Web Projects?

The only way I see around this is to have two projects for every web application I build. 1 for the code, and 1 for the content.

For example

XYZ.SomeWebSite.Code (Class Library Project Type) -> references Shared Project
XYZ.SomeWebSite (Web Project Type)

However going this route, I would not be able to push views, text files, css files, javascript files, etc into the web application.


回答1:


[Temporary Answer]

I was able to work around the problem by manually editing the csproj file for my web application.

Here are the steps:

  1. Unload the web application project
  2. Edit the *.csproj file by right clicking the project and clicking edit...
  3. Now look for the ProjectTypeGuids element.

    {349C5851-65DF-11DA-9384-00065B846F21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}

The first guid is the guid for an ASP.Net MVC 5 Project, and the 2nd guid is for C#.

All you need to do is temporarily remove the first guid and the semicolon, leaving just the c# guid (the 2nd one).

Reload the project and add your shared projects. Once they are all added, edit the project file and put the first guid and the semicolon back.

Reload the project.

The Shared Project reference will still be there, and it will build and link into your web application.

Optionally, you can just manually add the shared project referrence, the format is like this

<Import Project="..\XYZ.UPlugin\XYZ.Plugin.projitems" Label="Shared" />


来源:https://stackoverflow.com/questions/31795484/visual-studio-2015-shared-projects-reference-tab-missing-on-web-project

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!