我有一个相当深入的项目设置,包含10-20个库,我正在尝试构建一个使用它们的可执行文件。
我安装了.NET Core 1.1.0 preview1。有了新项目,一切正常。 dotnet restore
和dotnet build
对于这个项目也可以正常工作,但是在某个地方,有些东西是错误的,而且它不会运行。
dotnet run
收益:
The specified framework 'Microsoft.NETCore.App', version '1.1.0' was not found.
- Check application dependencies and target a framework version installed at:
C:\Program Files\dotnet\shared\Microsoft.NETCore.App
- The following versions are installed:
1.0.1
1.1.0-preview1-001100-00
- Alternatively, install the framework version '1.1.0'.
我的图书馆项目有:
"frameworks": {
"netstandard1.6": {
"dependencies": {
"NETStandard.Library": "1.6.1-preview1-*"
}
}
}
我的可执行项目有:
"frameworks": {
"netcoreapp1.1": {
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.1.0-preview1-*",
"type": "platform"
}
},
"imports": [ "dnxcore50", "portable-net45+win8" ]
}
}
它还引用了另一个使用入口点设置的项目,其frameworks
部分相同,减去imports
部分。
我还更新了他们的preview1-*
版本的任何EF Core和ASP.NET Core引用,但我也使用了很多其他依赖项(它们没有以相同的方式进行版本化)。
所以,正如您所看到的,我已经安装了1.1.0-preview1-001100-00
,我没有在任何地方引用1.1.0
,但却收到此消息正在寻找它。
可能导致此问题,和/或如何追踪它?我已经尝试过搜索project.json.lock
个文件,但是在那里看不到对1.1.0的任何引用,Microsoft.NETCore.App/1.1.0
下的libraries
条目和{{1}下的条目除外} {} {}的一部分。
答案 0 :(得分:3)
通配符不合适,不适用于此类平台依赖项。
必须使用
"version": "1.1.0-preview1-001100-00"
而不是
"version": "1.1.0-preview1-*"
答案 1 :(得分:1)
我遇到了在Heroku实例上部署相同的问题。在部署期间的情况下,使用最新版本(https://github.com/sass/node-sass/releases/download/v3.10.1/linux-x64-46_binding.node)。
作为一种解决方法,如果更改
,则可以使用"Microsoft.NETCore.App": {
"version": "1.1.0-preview1-*",
到
"Microsoft.NETCore.App": {
"version": "1.1.0",
但另一方面,在这种情况下,它停止在本地机器上工作......