netcoreapp1.0找不到net461特定包

时间:2017-01-10 10:48:11

标签: c# asp.net-core

我正在使用VS Code构建一个网络核心应用程序。我需要使用不受支持的NuGet包,因此将project.json文件的框架部分更改为以下内容:

"frameworks": {
  "net461": {
    "dependencies": {
      "ScrapySharp": "2.6.2"
    }
  },
  "netcoreapp1.0": {
    "dependencies": {
      "Microsoft.NETCore.App": {
        "type": "platform",
        "version": "1.0.0"
      }
    }
  }
}

恢复项目似乎有效并且已安装软件包(ScrapySharp)。但是,当我使用该软件包时,似乎netcoreapp和net461都在寻找它。当net461正确找到并引用它时,netcoreapp会抛出以下错误:

The type or namespace name 'ScrapySharp' could not be found

我能做些什么来解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

如果包仅适用于一个两个框架 - 您应修改程序代码,并且在netcoreapp下编译时不要使用此包。实际上,在netcoreapp下编译时,您将丢失应用程序的某些功能。

如果这适合你,那么使用这样的预处理器指令:

public void function DoSomething()
{
#if NET461 then
    // do something with ScrapySharp
#else
    // Say to your user that this feature is not available
    throw new Exception("This feature is not available on this platform");
#endif
}