3

我从源代码管理中检查了一个解决方案并在 Visual Studio 中打开它。我的假设是这个解决方案是一次(两年前)编译并部署的。

有一个包含数据集的项目,我将其称为“数据集项目”。数据集具有在寻找 Properties 命名空间的 Designer.cs 文件中的 InitConnection() 方法中定义的连接字符串。

[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    private void InitConnection() {
        this._connection = new global::System.Data.SqlClient.SqlConnection();
        this._connection.ConnectionString = global::<some namespace>.Properties.Settings.Default.<some connectionStringName>;
    }

在解决方案资源管理器中,我看到一个似乎“丢失”的 Settings.settings 文件。事实上,当我检查它的内容时,Properties 文件夹是空的。缺少的设置是每个数据集中的编译错误。

我尝试将数据集的连接字符串设置为无,但它尝试将新值保存到 .settings 文件中,该文件失败并显示“警告 22 自定义工具 'SettingsSingleFileGenerator' 在处理文件 'Properties\ Settings.settings'.
" 消息——表面上是因为缺少 .settings 文件。

多一点挖掘揭示了在另一个引用数据集项目的项目中找到的完整的连接字符串。但是数据集项目没有(循环地)引用这个其他项目,并且无法使用我知道的它的连接字符串。

可以为数据集项目重新生成 .settings 文件吗?为什么有人会首先删除 .settings ?

谢谢!

4

1 回答 1

7

弄清楚了。

我使用 Visual Studio 删除了 Properties 文件夹下的幻像 Settings.settings 文件(项目认为应该存在的“幻像”文件图标,因为它列在 .csproj 文件中)。然后我打开项目属性并转到设置选项卡。Visual Studio 提示我创建一个新的设置文件。我很高兴地答应了,VS 自动从 app.config 导入了设置。

所以似乎有一种方法可以重新生成 Settings.settings。

于 2012-12-08T18:09:18.217 回答