gpt4 book ai didi

visual-studio-2015 - 依赖项 >= 1.0.0-rc1-update1 无法解析

转载 作者:行者123 更新时间:2023-12-04 02:43:49 26 4
gpt4 key购买 nike

我想将我的 C# Web 应用程序更新到下一个 asp.net 版本。

我跑了

dnvm use  1.0.0-rc1-update1 -r clr arch x64 -p

并且dnvm列表显示事件版本已经设置为rc1-update1

现在我想更新我的 VS2015 解决方案以使用 rc1-update1

我编辑了 project.json 以将版本从 rc1-final 更新为 rc1-update1

但是 VS 现在显示“包还原失败”。我有这样的错误消息。

Severity    Code    Description Project File    Line    Suppression State
Error CS0234 The type or namespace name 'AspNet' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) MyBootStrap.DNX 4.5.1

将鼠标悬停在 project.json 显示中已编辑的依赖项上

enter image description here

我一定是少了一步。如何升级我的项目以使用框架的事件版本?

[更新]当我从模板创建一个新的 Web 应用程序时,我注意到它仍在使用 rc1-final。

解决方案资源管理器窗口中还有一条消息“包还原失败”输出显示如下

PATH=.\node_modules\.bin;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External;
%PATH%;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\External\git
C:\Users\kirsten\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-update1\bin\dnx.exe "C:\Users\kirsten\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-update1\bin\lib\Microsoft.Dnx.Tooling\Microsoft.Dnx.Tooling.dll"
restore "E:\EShared\Dev2016\MyBootStrap\src\MyBootStrap" -f "C:\Program Files (x86)\Microsoft Web Tools\DNU"
Microsoft .NET Development Utility Clr-x86-1.0.0-rc1-16231
CACHE https://www.nuget.org/api/v2/
Restoring packages for E:\EShared\Dev2016\MyBootStrap\src\MyBootStrap\project.json
CACHE https://www.nuget.org/api/v2/FindPackagesById()?id='Microsoft.AspNet.Diagnostics'
CACHE https://www.nuget.org/api/v2/FindPackagesById()?id='Microsoft.AspNet.IISPlatformHandler'
CACHE https://www.nuget.org/api/v2/FindPackagesById()?id='Microsoft.AspNet.Mvc'
CACHE https://www.nuget.org/api/v2/FindPackagesById()?id='Microsoft.AspNet.Mvc.TagHelpers'
CACHE https://www.nuget.org/api/v2/FindPackagesById()?id='Microsoft.AspNet.Server.Kestrel'
CACHE https://www.nuget.org/api/v2/FindPackagesById()?id='Microsoft.AspNet.StaticFiles'
CACHE https://www.nuget.org/api/v2/FindPackagesById()?id='Microsoft.AspNet.Tooling.Razor'
CACHE https://www.nuget.org/api/v2/FindPackagesById()?id='Microsoft.Extensions.Configuration.FileProviderExtensions'
CACHE https://www.nuget.org/api/v2/FindPackagesById()?id='Microsoft.Extensions.Configuration.Json'
CACHE https://www.nuget.org/api/v2/FindPackagesById()?id='Microsoft.Extensions.Logging'
CACHE https://www.nuget.org/api/v2/FindPackagesById()?id='Microsoft.Extensions.Logging.Console'
CACHE https://www.nuget.org/api/v2/FindPackagesById()?id='Microsoft.Extensions.Logging.Debug'
CACHE https://www.nuget.org/api/v2/FindPackagesById()?id='Microsoft.VisualStudio.Web.BrowserLink.Loader'
Unable to locate Dependency Microsoft.AspNet.Diagnostics >= 1.0.0-rc1-update1
Unable to locate Dependency Microsoft.AspNet.IISPlatformHandler >= 1.0.0-rc1-update1
Unable to locate Dependency Microsoft.AspNet.Mvc >= 6.0.0-rc1-update1
Unable to locate Dependency Microsoft.AspNet.Mvc.TagHelpers >= 6.0.0-rc1-update1
Unable to locate Dependency Microsoft.AspNet.Server.Kestrel >= 1.0.0-rc1-update1
Unable to locate Dependency Microsoft.AspNet.StaticFiles >= 1.0.0-rc1-update1
Unable to locate Dependency Microsoft.AspNet.Tooling.Razor >= 1.0.0-rc1-update1
Unable to locate Dependency Microsoft.Extensions.Configuration.FileProviderExtensions >= 1.0.0-rc1-update1
Unable to locate Dependency Microsoft.Extensions.Configuration.Json >= 1.0.0-rc1-update1
Unable to locate Dependency Microsoft.Extensions.Logging >= 1.0.0-rc1-update1
Unable to locate Dependency Microsoft.Extensions.Logging.Console >= 1.0.0-rc1-update1
Unable to locate Dependency Microsoft.Extensions.Logging.Debug >= 1.0.0-rc1-update1
Unable to locate Dependency Microsoft.VisualStudio.Web.BrowserLink.Loader >= 14.0.0-rc1-update1
Writing lock file E:\EShared\Dev2016\MyBootStrap\src\MyBootStrap\project.lock.json
Restore complete, 413ms elapsed

从这里我看到它正在尝试运行 dnx 的 x86 版本。为什么会这样?

[更新]我想知道为什么它会使用 nuget.org/api/v2 所以我使用扩展管理器重新安装了 nuget。它显示版本扩展管理器中的 3.3.0.167,但是包管理器的输出窗口仍然提到 V2。

我正在运行 Windows 7

[更新]project.json 是

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

"dependencies": {
"Microsoft.AspNet.Diagnostics": "1.0.0-rc1-update1",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-update1",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-update1",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-update1",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-update1",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-update1",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-update1",
"Microsoft.Extensions.Configuration.FileProviderExtensions" : "1.0.0-rc1-update1",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-update1",
"Microsoft.Extensions.Logging": "1.0.0-rc1-update1",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-update1",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-update1",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-rc1-update1"
},

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

"frameworks": {
"dnx451": { },
"dnxcore50": { }
},

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

这是我的 NuGet.Config 文件

    <?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageRestore>
<add key="enabled" value="True" />
<add key="automatic" value="True" />
</packageRestore>
<packageSources>
<add key="SBD" value="E:\EShared\NuGet" />
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
</packageSources>
<activePackageSource>
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
</activePackageSource>
</configuration>

这是我的包源

SBD 只是我们内部开发的几个。我不认为它应该影响事情。

enter image description here

最佳答案

您似乎将 dnx(Microsoft .NET 执行环境)的版本、dnvm(.NET 版本管理器)的版本与程序集的版本号混合在一起。

ASP.NET 具有模块化结构。这有优点也有缺点。首先,您可以使用以下命令检查您当前的 dnvm(.NET 版本管理器):

dnvm version

你可以使用

dnvm update-self

将其更新到最新版本。

同样的方式可以使用

dnvm list

查看您的配置文件中安装的所有 dnx(Microsoft .NET 执行环境)。 %USERPROFILE%\.dnx\runtimes .您将为每个已安装的 dnx 版本创建一个文件夹。通过使用 dnvm use 1.0.0-rc1-update1 -r clr arch x64 -p你改变路径。可以看到当前默认使用的dnx版本

dnx --version

它使用 %USERPROFILE%\.dnx\runtimes 子目录中的 dnx.exe ,您通过 dnvm use ... 将其包含在 PATH 中.

如果您使用 Visual Studio 项目,那么您通常会创建 global.json其中包含

{
"projects": [
"src"
],
"sdk": {
"version": "1.0.0-rc1-update1"
}
}

这样的设置会通知 dnx 的版本,应该在构建解决方案/项目期间使用。

上述所有步骤与当前发布的许多现有软件包的版本无关。您可以到页面https://www.nuget.org/packages/并搜索包的名称。如果你使用 https://www.nuget.org/api/v2/ 会找到相同的包或 https://api.nuget.org/v3/index.json在 NuGet 配置中。您可以查看http://myget.org/gallery/aspnetmaster查看当前版本的“主”构建(稳定构建)的 ASP.NET 5 程序集,您可以检查 http://myget.org/gallery/aspnetvnext查看最新的(来自 GitHub 开发的不稳定)。可以在 https://www.myget.org/gallery/ 下找到许多其他提要, 但在我看来只有 https://api.nuget.org/v3/index.jsonhttps://www.myget.org/F/aspnetmaster/api/v3/index.json如果你想使用 ASP.NET 5 的最新稳定版本,应该使用它。

您将看到来自 http://myget.org/gallery/aspnetmaster 的最新稳定版本有名称“1.0.0-rc1-final”,但还有很多程序集,有另一个版本为*-rc1-final .以同样的方式从 http://myget.org/gallery/aspnetvnext 构建不稳定的版本今天有名称“v1.0.0-rc2-16357”,但是有很多程序集,有另一个版本为*-rc2-16357 .

换句话说,您不应该只更改所有依赖项的名称以使用版本 "*-rc1-update1" .您可以在上下文菜单中打开“管理 NuGet 包...”,选中“包含预发行版”并选择“更新”选项卡以查看您是否包含在 package.json 的“依赖项”中的新包, 被释放。只有找到一些新的包才可以更新它,但是 -rc1-update1 的用法对于所有包都会产生错误。

关于visual-studio-2015 - 依赖项 >= 1.0.0-rc1-update1 无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34553386/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com