Visual Studio项目:属性/设置.settings丢失

3

我从源代码控制中检出了一个解决方案,并在Visual Studio中打开。我的假设是这个解决方案曾经(两年前)编译过并被部署了。

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

[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的文件似乎“丢失”了。实际上,当我检查其内容时,属性文件夹是空的。每个数据集中缺失的设置都是编译错误。
我已经尝试将数据集的连接字符串设置为None,但它试图将新值保存到.settings文件中,这会导致一个“警告22:在处理文件'Properties\Settings.settings'时,自定义工具'SettingsSingleFileGenerator'失败。” 的消息 - 显然是因为.settings文件丢失了。
进一步调查发现,在另一个引用数据集项目的项目中找到了完整的连接字符串。但是数据集项目没有(循环)引用此其他项目,并且我不知道它如何使用其连接字符串。
可以为数据集项目重新生成.settings文件吗?有人为什么要首先删除.settings文件呢?
谢谢!

1
有人为什么会忘记将那个文件 check-in 呢?是的,有很多原因。你将不得不手动重新创建它。 - Hans Passant
搞定了。我使用Visual Studio删除了属性文件夹下的幽灵Settings.settings文件(项目认为应该存在的“幽灵”文件图标,因为它在.csproj文件中列出)。然后我打开了项目属性并转到设置选项卡。Visual Studio提示我创建一个新的设置文件。我很高兴地同意了,并且VS自动从app.config导入了设置。所以似乎有一种方法可以重新生成Settings.settings。 - ZuluAlphaCharlie
1
你是对的,它确实知道如何做到这一点。给微软买根雪茄。 - Hans Passant
1个回答

8
我搞定了。
我使用Visual Studio在Properties文件夹下删除了幽灵Settings.settings文件(因为该文件图标是项目认为应该存在的,因为它在.csproj文件中列出)。然后我打开项目属性,进入设置选项卡。视觉工作室提示我创建一个新的设置文件。我很高兴地遵从了,VS自动从app.config中导入了设置。
因此,似乎有一种重新生成Settings.settings的方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接