2011-06-15 40 views
1

我有一个连接字符串到我的项目中定义和使用的MS Access数据库文件Foo.accdb。它被定义为我的项目属性的设置部分中的连接字符串设置。该程序引用连接字符串设置,一切正常。无法摆脱DataSet.Designer.vb中删除的设置引用

然后我决定用两个不同的数据库文件(A.accdb和B.accdb)替换Foo.accdb,每个文件都可以在不同的情况下使用。我在Settings中为它们添加了连接字符串,并删除了Foo.accdb连接字符串的设置定义。

我的应用程序的名称是Foo,而Foo.accdb连接字符串的名称是FooConnectionString。

但现在当我无论是在调试和发布构建程序,我得到了以下错误消息:

'FooConnectionString' is not a member of 'Foo.My.MySettings'. 

冒犯性的参考,在文件FooDataSet.Designer.vb是:

<Global.System.Diagnostics.DebuggerNonUserCodeAttribute()> _ 
    Private Sub InitConnection() 
     Me._connection = New Global.System.Data.OleDb.OleDbConnection 
     Me._connection.ConnectionString = Global.Foo.My.MySettings.Default.FooConnectionString 
    End Sub 

这是怎么回事? FooConnectionString不在项目目录中的任何其他文件中,也不在我的项目子目录中。我完全摆脱了它在我的代码和我的项目属性,但它仍然存在FooDataSet.Designer.vb(无论如何)。

在Web上进行研究时,我看到了一个选择FooDataSet.xsd文件的建议,右键单击它并执行“运行自定义工具”选项。我这样做,它似乎重建FooDataSet.Designer.vb(时间戳更改),但问题仍然存在。

我也尝试通过手动编辑FooDataSet.Designer.vb去除违规引用,但那给了我一些其他错误消息。

为什么这个旧参考文献留在身边,我该怎么办?

这是一个独立的应用程序。我正在使用VS2008 Standard Ed。,VB.Net 3.5

谢谢。

回答

0

在文本编辑器中打开FooDataSet XSD文件。在解决方案资源管理器中右键单击数据集,然后选择“打开方式...”和选择XML(文本)编辑器或在解决方案之外打开它。

寻找靠近文件顶部的<Connections>标签。删除看起来像这样的线

<Connection AppSettingsObjectName="Settings" AppSettingsPropertyName="FooConnectionString" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="FooConnectionString(Settings)" ... 
+0

康拉德,感谢您的 – RaleighBoy 2011-06-15 19:02:30

+0

感谢您的答复。我按照你的建议,首先删除那行,然后删除标记,但在编译时出现以下错误:“Custom tool error:Failed to generate code。Exception of type of”System.Data “.Design.InternalException'被抛出。” – RaleighBoy 2011-06-15 19:10:51

+0

@RaleighBoy对此,我很抱歉,不要删除连接,而应将其更改为A.accdb或B.accdb – 2011-06-15 19:22:15