Visual Studio 2015 - Web 项目上缺少共享项目参考选项卡

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

我从我们的 MSDN 订阅升级到 Visual Studio 2015,因为我很高兴阅读有关共享项目的内容...当我们只想重用代码时,不再需要在我们的依赖项中管理 21382 个 nuget 包。

所以我构建了一个测试共享项目,其中包含一些代码。然后我在 .Net 4.6 上向项目添加一个新的空 Web 应用程序。现在我希望转到参考文献并在参考文献 window 上看到 "Shared Projects" 选项卡,但我没有看到。

现在我可以将 class 库添加到同一解决方案,我会看到该选项卡并可以添加共享引用。但是我无法将共享项目添加到我的 Web 应用程序。

我非常希望我可以使用这个概念与多个 MVC 项目共享视图。

我是不是遗漏了什么,或者共享项目与 Web 项目不兼容?

我看到的解决这个问题的唯一方法是为我构建的每个 Web 应用程序创建两个项目。 1 个代码,1 个内容。

例如

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

无论如何走这条路,我都无法将视图、文本文件、css 文件、javascript 文件等推送到 Web 应用程序中。

[临时回答]

我能够通过手动编辑我的 Web 应用程序的 csproj 文件来解决这个问题。

步骤如下:

  1. 卸载 Web 应用程序项目
  2. 通过右键单击项目并单击编辑来编辑 *.csproj 文件...
  3. 现在查找 ProjectTypeGuids 元素。

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

第一个 guid 是 ASP.Net MVC 5 项目的 guid,第二个 guid 是 C# 的。

您需要做的就是暂时删除第一个 guid 和分号,只留下 c# guid(第二个)。

重新加载项目并添加您的共享项目。全部添加后,编辑项目文件并将第一个 guid 和分号放回原处。

重新加载项目。

共享项目引用仍会存在,它将构建并 link 到您的 Web 应用程序中。

可选的,您可以手动添加共享项目引用,格式如下

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