【问题标题】:How to pass connectionstring value from Unity3d to a classlibrary with ConfigurationManager如何使用 ConfigurationManager 将连接字符串值从 Unity3d 传递到类库
【发布时间】:2020-01-29 18:28:28
【问题描述】:

我在名为“DBLayer”的 ClassLibrary 中创建了一个名为“DB”的类,以连接名为“LinguisticsDB”的数据库。当我将此 ClassLibrary 实现到另一个项目中时,它可以通过“connectionStrings”标签连接其 App.config 文件。但我需要从 Unity3d 帮助中访问我的 ClassLibrary,以访问 App.config 之类的文件。我需要一个分步指南。 另一方面,我不知道应该在哪里导入 App.config 文件?

我的 DB 类进入 DBLayer:

        public static string connectionString = ConfigurationManager.ConnectionStrings["LinguisticsDB"].ConnectionString;
        static SqlConnection connection = new SqlConnection(connectionString);
        static SqlDataAdapter sqlDataAdapter;

        public static DataSet GetData(string query)
        {
            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
            DataSet dataSet = new DataSet();
            sqlDataAdapter = new SqlDataAdapter(query, connection);
            sqlDataAdapter.Fill(dataSet);
            connection.Close();
            return dataSet;
        }

我的 App.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
    </startup>
  <connectionStrings>
    <add name="LinguisticsDB" connectionString="Data Source=DESKTOP-NORA1IP; Initial Catalog=Linguistics; Integrated Security=True" providerName="System.Data.SqlClient"/>
  </connectionStrings>
</configuration>

我尝试将 App.config 文件导入到我的 Unity 项目中的 Scripts 文件夹中;但它没有用。

【问题讨论】:

  • 问题到底是什么?也许如何deserialize a an XML file
  • 应用程序配置文件更像是一个 c# 的东西,而不是一个统一的东西。阅读它
  • 我需要将连接字符串值从 Unity 传递到 ConfigurationManager.ConnectionStrings。有什么办法吗?

标签: c# unity3d connection-string class-library configurationmanager


【解决方案1】:

我使用静态连接字符串解决了我的问题。这很糟糕,但它奏效了。 我改变了这个

public static string connectionString = ConfigurationManager.ConnectionStrings["LinguisticsDB"].ConnectionString;

到这里

public static string connectionString = @"Data Source=.; Initial Catalog=myDatabase; Integrated Security=True;"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-21
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多