无法解析引用的项目

时间:2015-12-27 01:38:02

标签: asp.net-core asp.net-core-mvc

我创建了一个名为“TestIt”的新ASP.NET 5 MVC项目。然后,我在我的解决方案中添加了一个名为“TestIt.ClassLibrary”的新ASP.NET 5类库项目,并将“TestIt.ClassLibrary”引用到MVC项目,即“TestIt”。

我遇到的问题是我似乎无法访问类库项目中的任何方法 - 至少我可以说IntelliSense没有帮助我 - 见下文:

知道我为什么遇到这个问题?

我想指出我更新了项目以使用DNX46(两者都有)。还要指出类库是一个生成NuGet包的ASP.NET 5类库项目。

enter image description here enter image description here enter image description here

这是ASP.NET 5 MVC项目的project.json文件:

{
  "version": "1.0.0-*",
  "compilationOptions": {
    "emitEntryPoint": true
  },

  "dependencies": {
    "TestIt.ClassLibrary": "1.0.0-*",
    "Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final",
    "Microsoft.AspNet.Authentication.Facebook": "1.0.0-rc1-final",
    "Microsoft.AspNet.Authentication.Google": "1.0.0-rc1-final",
    "Microsoft.AspNet.Authentication.OAuth": "1.0.0-rc1-final",
    "Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final",
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-final"
  },

  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel"
  },

  "frameworks": {
    "dnx46": { }
  },

  "exclude": [
    "wwwroot",
    "node_modules"
  ],
  "publishExclude": [
    "**.user",
    "**.vspscc"
  ],
  "scripts": {
    "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
  }
}

2 个答案:

答案 0 :(得分:0)

检查project.json文件以确保您具有对类库的依赖性引用。

看起来应该是这样的:

"dependencies": {
      "TestIt.ClassLibrary": "1.0.0-*",

编辑: 将其添加到项目文件的顶部以查看它是否解析了智能感知。

"webroot": "wwwroot",

答案 1 :(得分:0)

我有类似的问题,但设置不同。我有一个主要项目是.xproj,目标是dnx451和dnxcore50。我有一个类库,它是一个"便携式类库" (.csproj的)。我尝试了可移植类库的不同配置。当我找到一个构建的时候我搞砸了一些东西,因为intellisense对于引用类库中的类的任何代码都没有用。

我最终确定创建的包装project.json文件在我更改我的类库"目标"。

时从未更新过。

这可能是您的问题,也可能不是。我甚至不知道你的场景中是否会创建一个包装文件夹。

我通过以下方式解决了我的问题:

  1. 从我的主项目中的project.json中删除对类库的引用
  2. 关闭VS
  3. 删除"换行"解决方案目录中的文件夹以及解决方案目录中的global.json文件。您可能想要打开这些文件,并确保没有任何想要保留的文件。在我的情况下,内部的唯一引用是我遇到问题的项目。
  4. 打开VS。
  5. 在主项目中添加对类库的引用,应该创建一个新的包装文件夹和文件,希望这次是正确的。
  6. 从技术上讲,我做了比这更多的步骤。我重建了我的整个类库,但我认为这不是问题所在,如果是,那么你可以尝试使用适用于构建的设置从头开始重建类库。

    祝你好运,我希望这会有所帮助!