【问题标题】:XSD desigener error Visual Studio 2017XSD 设计器错误 Visual Studio 2017
【发布时间】:2022-02-17 03:51:49
【问题描述】:

如果我尝试在 Visual Studio 2017 中打开一个 .xsd 文件或创建一个新文件,它是一个 .net 3.5 项目,并且在我重新安装 Windows 并升级到 Visual Studio 2017 Pro 之前工作正常,我会收到以下错误。

这似乎是 .net 3.5 特定的,因为我打开了另一个 4.0 项目,并且它的 .xsd 在设计器中打开。

为防止在加载设计器之前可能丢失数据, 必须解决以下错误:

值不能为空。范围 名称:实例

 Instances of this error (1)  
  1. 在 System.ComponentModel.TypeDescriptor.AddAttributes(对象实例, 属性 [] 属性)在 Microsoft.VisualStudio.Design.VSDesignSurface.CreateDesigner(IComponent 组件,布尔根设计器)在 System.ComponentModel.Design.DesignerHost.AddToContainerPostProcess(IComponent 组件,字符串名称,IContainer containerToAddTo)在 System.ComponentModel.Design.DesignerHost.PerformAdd(IComponent 组件,字符串名称)在 System.ComponentModel.Design.DesignerHost.Add(IComponent 组件, 字符串名称)在 System.ComponentModel.Container.Add(IComponent 组件)在 Microsoft.VSDesigner.DataSource.Designer.DataSourceDesignerLoader.HandleLoad(IDesignerSerializationManager 序列化管理器)在 Microsoft.VSDesigner.DesignerFramework.BaseDesignerLoader.PerformLoad(IDesignerSerializationManager 序列化管理器)在 Microsoft.VSDesigner.DesignerFramework.BaseDesignerLoader.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload)

Link to error screen shot

【问题讨论】:

  • 无需发布错误图片。在此处将其作为文本复制/粘贴到您的帖子中。
  • 是的。我试图嵌入图像,但它只让我链接。
  • 只有当问题不能以任何其他方式呈现时才应该使用图像,并且没有必要在此处包含图像。请参阅this Meta post 了解尽可能避免使用图像的原因列表;它指的是代码图像,但许多项目符号项也适用于非代码内容。
  • 我实际上认为它在这里很有用。如果您在熟悉的上下文中显示代码或错误,我完全同意,例如 .net 在浏览器中为您提供的那些。但是我以前从未在 Visual Studio 中看到过这样的错误,所以我试图显示上下文以及内容。

标签: .net visual-studio xsd


【解决方案1】:

我观察到您描述的相同症状,as suggested by Tibi,还发现将目标框架更改为 4.6(通过 网站→开始选项→构建 ASP.NET 项目)适用于可行的项目。

我在 Visual Studio 开发人员社区网站上发现了与此行为有关的两个未解决问题:

超过 6 个月后既没有解决方案(Target Framework 4.6 解决方法除外)也没有官方反馈。

【讨论】:

    【解决方案2】:

    喂! 设置你的项目目标框架:4.6 (右键ProjectName/Property Pages/Build/Target Framework--->4.6) 我试了一下,效果不错。

    【讨论】:

    • 谢谢我最终在 VS 中使用 .net 版本迁移扩展将版本更改为 4.5。由于项目中使用了其他一些过时的东西,我试图避免版本更改,但它比我预期的要顺利得多。
    【解决方案3】:

    我遇到了同样的问题。

    我的项目针对的是 Framework 4.6.1。

    为了解决这个问题,我将目标框架更改为 4.7.2。

    之后我就可以打开所有数据集了。

    【讨论】:

      【解决方案4】:

      因为有些人仍然会遇到此错误,所以这可能会对您有所帮助。

      1. 打开项目(或网站)属性页(右键单击项目 > 属性页 > 构建。
      2. 找到可以选择 .NET Framework 版本的部分。
      3. 如果您的项目使用 .NET 框架低于4.7.2,设置为4.7.2(更改并重启Visual 之后的工作室)。
      4. 如果您的项目使用 .NET Framework 4.7.2,将其降级到 4.6.1(更改并重新启动 Visual Studio)。

      注意:.NET 4.7.2 (here) 和 .NET 4.6.1 (here) 的链接

      【讨论】:

      • VS2019,项目在4.6,改成4.7.2比xsd打开没有错误。
      【解决方案5】:

      这篇文章很旧,但问题在2019年仍然存在。所以我发布了我的obstervation:

      看来问题出在2017以后的应用(MVC和Webform)上DataSet的文件不能放在App_Code目录下。

      您可以检查文件并将其移动到另一个文件夹,您会看到设计人员可以毫无问题地打开它们。

      唯一的问题是,按照旧项目的约定,代码文件必须在 App_Code 中,否则会出现编译错误。

      【讨论】:

        【解决方案6】:

        这可能与您在旧版 Visual Studio 中创建 XSD 并在连接字符串中具有 SQL 凭据时发生的“安全”功能有关。

        【讨论】:

          【解决方案7】:

          我在 vs.2019 中遇到了类似的问题 当我将 .net 更改为 4.7.2 时就可以了!

          【讨论】:

            【解决方案8】:

            将目标更改为 4.7.2,在我的案例中我使用了数据集的工具箱

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2013-01-15
              • 2016-05-08
              • 1970-01-01
              • 2018-11-16
              • 1970-01-01
              • 2017-08-04
              • 2017-08-27
              相关资源
              最近更新 更多