无法摆脱DataSet.Designer.vb中已删除的设置引用

时间:2011-06-15 18:29:44

标签: winforms visual-studio-2008

我有一个连接字符串到MS Access数据库文件Foo.accdb,在我的项目中定义和使用。它被定义为项目属性的“设置”部分中的连接字符串“设置”。该程序引用了连接字符串设置,一切正常。

然后我决定用两个不同的DB文件替换Foo.accdb,A.accdb和B.accdb,每个文件都将在不同情况下使用。我在“设置”中为它们添加了连接字符串,并删除了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不在项目目录中的任何其他文件中,也不在My Project子目录中。我完全摆脱了我的代码和我的项目属性,但它仍然存在于FooDataSet.Designer.vb(无论是什么)。

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

我还尝试通过手动编辑FooDataSet.Designer.vb来删除有问题的引用,但这给了我一些其他错误消息。

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

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

感谢。

1 个答案:

答案 0 :(得分:1)

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

查找文件顶部附近的<Connections>标记。删除看起来像这样的行

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