如果我尝试在Visual Studio 2017中打开.xsd文件或创建一个新的.net 3.5项目,并且在重新安装Windows并升级到Visual Studio 2017 Pro之前工作正常,我会收到以下错误。
这似乎是.net 3.5特定的,因为我打开了另一个4.0的项目,它的.xsd在designer fine中打开。
若要在加载设计器之前防止可能的数据丢失,必须解决以下错误:
值不能为空。参数名:instance
Instances of this error (1)
字符串
1.在System. DataModel.TypeDescriptor.AddAttributes处隐藏调用堆栈(对象示例,Attribute[]属性)(IComponent组件,布尔rootDesigner),位于System. ObjectModel.Design.DesignerHost.AddToContainerPostProcess(IComponent组件,字符串名称,IContainer containerToAddTo),位于System. System.Model.Design.DesignerHost.PerformAdd(IComponent组件,字符串名称),位于System. System.Model.Design.DesignerHost.Add(IComponent组件,字符串名称)在System.DataModel.Container.Add(IComponent组件),位于Microsoft.VSDesigner.DataSource.Designer.DataSourceDesignerLoader.HandleLoad(IDesignerSerializationManager serializationManager)位于Microsoft.VSDesigner.DesignerFramework.BaseDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)在Microsoft.VSDesigner.DesignerFramework.BaseDesignerLoader.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents. OnLoad完成(Int32格式)
Link to error screen shot
9条答案
按热度按时间5q4ezhmt1#
我正在观察你描述的相同症状,as suggested by Tibi,还发现将目标框架更改为4.6(通过 Website→Start Options→Build for ASP.NET项目)适用于可行的项目。
我在Visual Studio开发者社区网站上发现了两个关于此行为的公开问题:
6个多月后,既没有解决方案(除了目标框架4.6解决方案),也没有官方反馈。
yhqotfr82#
Hy!设置你的项目目标框架:4.6(右键单击ProjectName/Property Pages/Build/Target Framework->4.6)我尝试了一下,它的工作。
kzmpq1sx3#
我也有同样的问题。
我的项目目标是Framework 4.6.1。
为了解决这个问题,我将目标Framework更改为4.7.2。
之后,我就可以打开所有的数据集了。
qyzbxkaa4#
因为有些人仍然得到这个错误,也许这可以帮助你。
1.打开项目(或网站)属性页(右键单击项目>属性页>构建)。
1.找到可以选择.NET Framework版本的部分。
1.如果您的项目使用的.NET Framework低于4.7.2,请将其设置为4.7.2(更改并重新启动Visual Studio)。
1.如果您的项目使用的是.NET Framework 4.7.2,请将其降级到4.6.1(更改并重新启动Visual Studio)。
注意:.NET 4.7.2(here)和.NET 4.6.1(here)的链接
6vl6ewon5#
这可能与“安全”特性有关,当您在旧版本的Visual Studio中创建XSD并在连接字符串中具有SQL凭据时,会发生这种情况。
8tntrjer6#
这篇文章是旧的,但问题仍然存在于2019年。所以我发布我的obstervation:
问题似乎来自于这样一个事实,即在2017年之后的应用程序(MVC和Webform)上,数据集的文件无法放置在App_Code目录中。
您可以检查并将文件移动到另一个文件夹,您将看到设计器可以打开它们而没有任何问题。
唯一的问题是,根据旧项目的约定,代码文件必须在App_Code中,否则将出现编译错误。
r8xiu3jd7#
我在vs.2019中遇到了类似的问题,当我将.net更改为4.7.2时,没关系!
lyfkaqu18#
将目标更改为4.7.2,在我的示例中,我使用了dataset工具箱
wfauudbj9#
当我将目标框架更改为4.8时,这个问题就出现了。我通过删除XSD中数据适配器的所有连接来克服这个问题(我不需要它们,但可能添加新的连接是可以的)。
感谢James Laycock提供有关旧连接字符串的提示。