我在VS2015中创建了一个项目,结构如下: Solution1 BookStore.ClassLibrary1 => 类库(Package) BookStore.ClassLibrary2 => 类库 BookStore.Web => MVC5 在BookStore.Web中,我可以引用BookStore.ClassLibrary2,但无法引用BookStore.ClassLibrary1。 它显示错误信息“无法添加对'ClassLibrary1'的引用。” 我的问题是如何在VS2015中引用一个类库(Package)?非常感谢!
看起来,您的ClassLibrary1项目是一个类库包,而不是一个类库项目。类库包用于创建可以针对任何平台的Nuget软件包。ASP.NET 5类库项目(.kproj) 相对于类库项目(.csproj)有许多优点:ASP.NET 5类库轻松支持跨编译项目到多个目标,例如aspnet50,aspnetcore50,net45以及各种其他可移植的类库变量。这包括丰富的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#"节点中。如果您需要引用新类库无法生成的dll,请参考以下链接: https://evolpin.wordpress.com/2015/01/25/vnext-and-class-libraries/。
我对ClassLibrary1的依赖性表示怀疑,甚至可以在您的截图中看到 似乎ClassLibrary1正在寻找一些依赖的dll文件,因此您可能需要先添加这些dll文件,然后再进行添加。 类似的情况也发生在这里 有关依赖项的更多详细信息可以从此MSDN链接收集,您可以直接跳转到Bower和NPM依赖项的依赖项节点