我正在使用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
我能做些什么来解决这个问题吗?
答案 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
}