【发布时间】:2019-09-17 23:08:03
【问题描述】:
我的问题与其他问题相似,但到目前为止,我对这个问题的特殊细微差别似乎没有我能在这里找到的答案,所以就这样吧。 (斜体编辑)
我们公司部署了一个用 VB6 编写的应用程序。由于 Windows 不再正式支持 VB6 开发,我们公司决定将我们的 VB6 应用程序移植到 VB.NET。
(在此编辑之前,我曾提到该项目已使用 VS 2015 转换为 VB.NET。这是不正确的,我发现我的同事实际上已使用 VS 2008 执行了转换,而我正在使用 2008 2015 年的项目。)
所以我们现在正在使用 VS2015 中的 VB.NET 转换。正如我们许多人所知,VS 2008 转换器在将 VB6 代码移植到 VB.NET 代码方面做得并不完整,因此需要解决很多很多错误(在撰写本文时,所有编译错误都已修复)。但是,特别是,我试图在 Designer 中打开项目的各种表单,以便我可以查看并使用它们。设计师特地报错:
Could not resolve mscorlib for target framework '.NETFramework,Version=v2.0'. This can happen if the target framework is not installed or if the framework moniker is incorrectly formatted.
我看到有人提到依赖路径有 256 个字符的限制。在我的情况下满足了这种依赖性。我还确认 .NET Framework 2.0 已在我的 Windows 实例中安装并处于活动状态。我也看到了升级 .NET Framework 版本的建议,它本身是成功的,但没有解决这个mscorlib 问题。
此错误的完整调用堆栈如下:
at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkUniverse..ctor(IDesignTimeAssemblyLoader assemblyLoader, IVsDesignTimeAssemblyResolution projectAssemblyResolution, IVsSmartOpenScope dispenser)
at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkUniverse.GetUniverse(IDesignTimeAssemblyLoader assemblyLoader, IVsDesignTimeAssemblyResolution projectAssemblyResolution, IVsSmartOpenScope dispenser)
at Microsoft.VisualStudio.Shell.Design.VsTargetFrameworkProvider..ctor(IVsDesignTimeAssemblyResolution assemblyResolution, IDesignTimeAssemblyLoader assemblyLoader, TypeDescriptionProvider parentProvider, IVsSmartOpenScope openScope)
at Microsoft.VisualStudio.Design.VsTargetFrameworkProviderService.get_TargetFrameworkProvider()
at Microsoft.VisualStudio.Design.VsTargetFrameworkProviderService.GetProvider(Type type)
at System.ComponentModel.Design.Serialization.DesignerSerializationManager.GetType(String typeName)
at System.ComponentModel.Design.Serialization.DesignerSerializationManager.System.ComponentModel.Design.Serialization.IDesignerSerializationManager.GetType(String typeName)
at System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.Deserialize(IDesignerSerializationManager manager, CodeTypeDeclaration declaration)
at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload)
如何才能在 Designer 中查看我的项目?
【问题讨论】:
-
其他人报告以下对他们有用: 1. 删除并添加回有警告的项目引用。 2. 重建项目 3. 删除并重新添加 Microsoft.Office.Core
-
你能更新到更新的框架吗?我转换的所有 VB6 项目都立即更新。转换工具非常古老,这就是它们使用旧框架的原因。
标签: vb.net vb6 windows-forms-designer vb6-migration mscorlib