dataset.xsd 与 **NO** app.config

Joe*_*ker 3 c# xsd app-config

我有一个带有 dataset.xsd 的应用程序;我被要求消除 app.config (我们希望最大限度地减少对环境的可见更改的情况之一)。我不知道这是否可能,但如果有办法我需要找到它。

我们想要做的是让数据集在我们的代码中构建连接字符串,并完全消除 app.config。

这(自然)也需要在重建中幸存下来,所以我怀疑我是否可以在 dataset.Designer.cs 或 Settings.Designer.cs 中进行更改。

有人知道有办法做到这一点吗?

谢谢

Sco*_*ain 6

在你的 xsd 中你应该有一个 xml 节点,看起来像

<Connection AppSettingsObjectName="Settings" AppSettingsPropertyName="DevDataConnectionString" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="DevDataConnectionString (Settings)" ParameterPrefix="@" PropertyReference="ApplicationSettings.SandboxConsole.Properties.Settings.GlobalReference.Default.DevDataConnectionString" Provider="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)

您需要做的是删除AppSettingsObjectName,AppSettingsPropertyNamePropertyReference属性,复制其中的连接字符串ConnectionStringObject,然后更改IsAppSettingsPropertyfalse.

你最终应该得到的是一条看起来像这样的线

<Connection ConnectionStringObject="Data Source=SRCHAMBERLAIN;Initial Catalog=DevData;Integrated Security=True" IsAppSettingsProperty="false" Modifier="Assembly" Name="DevDataConnectionString (Settings)" ParameterPrefix="@" Provider="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)

进行更改后,右键单击YourDataSet.xsd解决方案资源管理器中的文件,然后从右键菜单中选择“运行自定义工具”以重新生成文件YourDataSet.Designer.cs

完成此操作后,您可以DevDataConnectionString从项目设置中删除该对象。


可选:查找并替换Name属性的内容,以便您可以重命名DevDataConnectionString (Settings)为末尾不添加“(设置)”的内容。您需要更新节点Name上的属性Connection以及文件中其他位置节点ConnectionRef上的所有属性。DbSource