Visual Studio 2017中的一个错误

disbfnqx  于 6个月前  发布在  其他
关注(0)|答案(9)|浏览(114)

如果我尝试在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

5q4ezhmt

5q4ezhmt1#

我正在观察你描述的相同症状,as suggested by Tibi,还发现将目标框架更改为4.6(通过 Website→Start Options→Build for ASP.NET项目)适用于可行的项目。
我在Visual Studio开发者社区网站上发现了两个关于此行为的公开问题:

6个多月后,既没有解决方案(除了目标框架4.6解决方案),也没有官方反馈。

yhqotfr8

yhqotfr82#

Hy!设置你的项目目标框架:4.6(右键单击ProjectName/Property Pages/Build/Target Framework->4.6)我尝试了一下,它的工作。

kzmpq1sx

kzmpq1sx3#

我也有同样的问题。
我的项目目标是Framework 4.6.1。
为了解决这个问题,我将目标Framework更改为4.7.2。
之后,我就可以打开所有的数据集了。

qyzbxkaa

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)的链接

6vl6ewon

6vl6ewon5#

这可能与“安全”特性有关,当您在旧版本的Visual Studio中创建XSD并在连接字符串中具有SQL凭据时,会发生这种情况。

8tntrjer

8tntrjer6#

这篇文章是旧的,但问题仍然存在于2019年。所以我发布我的obstervation:
问题似乎来自于这样一个事实,即在2017年之后的应用程序(MVC和Webform)上,数据集的文件无法放置在App_Code目录中。
您可以检查并将文件移动到另一个文件夹,您将看到设计器可以打开它们而没有任何问题。
唯一的问题是,根据旧项目的约定,代码文件必须在App_Code中,否则将出现编译错误。

r8xiu3jd

r8xiu3jd7#

我在vs.2019中遇到了类似的问题,当我将.net更改为4.7.2时,没关系!

lyfkaqu1

lyfkaqu18#

将目标更改为4.7.2,在我的示例中,我使用了dataset工具箱

wfauudbj

wfauudbj9#

当我将目标框架更改为4.8时,这个问题就出现了。我通过删除XSD中数据适配器的所有连接来克服这个问题(我不需要它们,但可能添加新的连接是可以的)。
感谢James Laycock提供有关旧连接字符串的提示。

相关问题