我从源代码管理中检出了一个解决方案,然后在Visual Studio中打开它。我的假设是这个解决方案在一次(两年前)编译并被部署。
有一个项目包含数据集,我称之为“数据集项目”。数据集具有在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文件夹是空的。缺少的设置是每个数据集中的编译错误。
我试图将数据集的连接字符串设置为None,但是它尝试将新值保存到.settings文件,该文件在处理文件时失败并显示“警告22自定义工具'SettingsSingleFileGenerator'失败'属性\ Settings.settings'。
“消息 - 表面上是因为.settings文件丢失了。
更多的挖掘揭示了在引用数据集项目的另一个项目中找到的连接字符串的完整补充。但是数据集项目没有(循环地)引用这个其他项目,也无法使用我所知道的连接字符串。
可以为数据集项目重新生成.settings文件吗?有人会先删除.settings的原因吗?
谢谢!
答案 0 :(得分:5)
想出来。
我使用Visual Studio删除了属性文件夹下的幻像Settings.settings文件(项目认为应该存在的“幻像”文件图标,因为它列在.csproj文件中)。然后我打开了项目属性并转到“设置”选项卡。 Visual Studio提示我创建一个新的设置文件。我很高兴,并且VS自动从app.config导入设置。
所以似乎有一种方法可以重新生成Settings.settings。