VS2015为类库添加参考

时间:2015-08-04 09:50:58

标签: asp.net asp.net-mvc visual-studio asp.net-mvc-5 visual-studio-2015

我在VS2015中创建了一个项目,结构如下:

解决方法1

  • BookStore.ClassLibrary1 =>类库(包)
  • BookStore.ClassLibrary2 =>班级图书馆
  • BookStore.Web => MVC5

在BookStore.Web中,我可以引用 BookStore.ClassLibrary2 ,但无法引用 BookStore.ClassLibrary1

显示错误“无法添加对'ClassLibrary1'的引用。

我的问题是如何在VS2015中引用类库(包)?非常感谢你!

3 个答案:

答案 0 :(得分:7)

看起来您的ClassLibrary1项目是类库包,而不是类库项目。类库包用于创建可以针对任何平台的Nuget包。

与类库项目(.csproj)相比,ASP.NET 5类库项目(.kproj)有许多好处:

ASP.NET 5类库很容易支持将项目交叉编译到多个目标,例如aspnet50,aspnetcore50,net45和各种其他可移植类库变体。这包括对Intellisense的丰富Visual Studio支持,以通知您哪些API可用于哪些目标。 NuGet包是自动创建的,这与类库非常相似。 在文件系统更改时自动刷新解决方案资源管理器等事项可以提高工作效率。尝试合并* .csproj文件中的冲突更改时,源代码管理中的冲突较少。 可以跨平台编译(部分原因是因为它不依赖于MSBuild) 您可以从* .kproj项目引用一个* .csproj项目(使用Visual Studio 2015的新预览,这简单得多),但总是可以通过一些手动步骤。

为什么这个名字有" ASP.NET"在它?

就名字而言,它是历史遗迹,很快就会被解决。新项目类型远远超出ASP.NET 5应用程序。期望在Visual Studio的未来预览中看到新名称:

.NET控制台应用程序(跨平台) .NET类库(跨平台) 随着Visual Studio 2015 RC的发布,您可以看到更新的项目模板名称:

班级图书馆(包) 控制台应用程序(包) 它们使用project.json文件和.NET执行环境(DNX)来构建,运行和打包(到NuGet包中)项目。

这些项目模板继续显示在" Web"下的新项目对话框中。节点,但现在也出现在主要" Visual C#"节点也是如此。

这是一个很好的链接,因为你需要提供一个新的clas库不构建的DLL。 https://evolpin.wordpress.com/2015/01/25/vnext-and-class-libraries/

答案 1 :(得分:1)

使用普通旧类库或使用 Nuget类库,将其发布到本地或公共Nuget存储库,然后从那里将其添加到Web项目中。

答案 2 :(得分:0)

我怀疑ClassLibrary1的依赖性,我甚至可以在截图中看到enter image description here

似乎ClassLibrary1正在寻找一些依赖的dll,所以你可能需要首先添加这些dll然后你可以继续添加它。 类似的事情发生here too

有关依赖项的更多详细信息可以从此MSDN link收集,您可以直接跳转到依赖关系节点以获取Bower和NPM依赖关系