23

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

所以我建立了一个测试共享项目,里面有一些代码。然后我在 .Net 4.6 上将一个新的空 Web 应用程序添加到项目中。现在我希望去参考并在参考窗口上看到一个“共享项目”选项卡,但我没有看到一个。

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

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

我在这里遗漏了什么,还是共享项目与 Web 项目不兼容?

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

例如

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

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

4

1 回答 1

44

[临时答复]

我能够通过手动编辑我的 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 和分号放回去。

重新加载项目。

共享项目参考仍然存在,它将构建并链接到您的 Web 应用程序。

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

<Import Project="..\XYZ.UPlugin\XYZ.Plugin.projitems" Label="Shared" />
于 2015-08-03T21:01:51.030 回答