【发布时间】:2024-09-19 13:25:01
【问题描述】:
我目前在尝试从 Control 类搭建脚手架时遇到了一个丑陋的问题。 我收到以下错误:
错误文本是:
运行选定的代码生成器时出错:'未处理 异常:System.TypeLoadException:无法加载类型 'Microsoft.VisualStudio.Web.CodeGeneration.ConsoleLogger' 来自 程序集 Microsoft.VisualStudio.Web.CodeGeneration.Core, 版本=1.1.1.0,文化=中性,PublicKeyToken=adb9793829ddae60'。在 Microsoft.VisualStudio.Web.CodeGeneration.Tools.Program.Main(字符串 [] 参数)'
我的 project.json 文件是:
"Microsoft.EntityFrameworkCore.Design": "1.1.2",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.2",
"Microsoft.EntityFrameworkCore.SqlServer.Design": {
"version": "1.1.1",
"type": "build"
},
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.2",
"Microsoft.Extensions.Configuration.Json": "1.1.2",
"Microsoft.Extensions.Configuration.UserSecrets": "1.1.1",
"Microsoft.Extensions.Logging": "1.1.2",
"Microsoft.Extensions.Logging.Console": "1.1.2",
"Microsoft.Extensions.Logging.Debug": "1.1.1",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.2",
"Microsoft.NETCore.App": {
"version": "1.1.1",
"type": "platform"
},
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.1.0",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
"version": "1.1.0-preview4-final",
"type": "build"
},
"Microsoft.VisualStudio.Web.CodeGeneration.Core": "1.1.1",
"Microsoft.VisualStudio.Web.CodeGenerators.Mvc": {
"version": "1.1.1",
"type": "build"
},
"Microsoft.VisualStudio.Web.CodeGeneration.Design": "1.0.1"
"tools": {
"BundlerMinifier.Core": "2.4.337",
"Microsoft.AspNetCore.Razor.Tools": "1.1.0-preview4-final",
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final",
"Microsoft.Extensions.SecretManager.Tools": "1.1.0-preview4-final",
"Microsoft.VisualStudio.Web.CodeGeneration.Tools": {
"version": "1.1.0-preview4-final",
"imports": [
"portable-net45+win8"
]
}
},
知道我哪里做错了吗?
我已经阅读了一些关于 SO 的其他帖子,但没有找到任何帮助。
【问题讨论】:
-
IIRC 支持 VS2015 的最后一个版本(我假设你仍然使用它,因为你在 project.json - VS2017 使用 csproj)是
-preview2-final。试试这些或切换到 VS2017,迁移到 csproj 并使用 RTM 工具 -
您好 Tseg,我应该更改哪些版本?我不太明白你指的是什么
-
tools部分中的包,如"Microsoft.AspNetCore.Razor.Tools": "1.1.0-preview4-final",。这些工具的最后一个版本(全部以1.1.0-preview4-final为版本)适用于VS2017。这些工具的较新版本将不再在 VS2015 上运行(仅1.1.0-preview2-final或更早版本)。 VS2015 不会有任何进一步的更新,所以你应该尽快切换到 VS2017 -
我试过所有版本。这没用。我犯了同样的错误。应该有办法让它在VS2015中运行
-
您是否更改了
dependencies和tools中的版本?任何 nuget 还原错误? IE。Microsoft.EntityFrameworkCore.Tools.DotNet在 preview2-final iirc 中不存在,它在 preview 3 iirc 中被拆分出来。所以你需要使用Microsoft.EntityFrameworkCore.Tools和1.0.0-preview2-final
标签: asp.net-core entity-framework-core asp.net-mvc-scaffolding asp.net-core-1.1