4 / 4 / 1
Регистрация: 20.12.2019
Сообщений: 310

Подключение библиотек

16.03.2021, 09:34. Показов 2634. Ответов 24

Студворк — интернет-сервис помощи студентам
Добрый день! Может не верно название темы создал, но не знаю как правильно даже создать запрос для поиска ответа на мой вопрос. Простите за нубство. Суть проблемы в том, что когда подключаюсь вшитой строкой подключения
C#
1
2
3
4
5
6
public partial class MainForm : Form
    {
        SqlConnection sqlConn = new SqlConnection("Data Source=wpl36.hosting.reg.ru; Initial Catalog ********);
        DataTable dbTable = new DataTable();
        SqlDataAdapter dbAdp;
        BindingSource bs;
программа работает норм у всех.
Но когда я строку пишу в конфиге, то прописываю в программе эти строки
C#
1
connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
соответственно VS просит установить пакет
C#
1
using System.Configuration;
после этого программа запускается только из папки. А уже на других компах не запускается. Файл конфиг
XML
1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
    </startup>
  <connectionStrings>
   <add name="DefaultConnection" connectionString="*************************"
Security=True"
       providerName="System.Data.SqlClient"/>
  </connectionStrings>
</configuration>
Инфу брал отсюда как прописывать в конфиг строку подключения https://metanit.com/sharp/adonet/2.2.php Как и что делать чтобы exe отдельно работал?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.03.2021, 09:34
Ответы с готовыми решениями:

Подключение библиотек
Помогите допилить код Пологаю что необходимо подключить библиотеки... но возникают сложности, в архиве есть какие-то dll'ки. но не всё...

Подключение своих библиотек к VS
Со временем накопились у меня различные функции, которые удобно использовать в своих проектах. Интересует как их встроить в студию дабы они...

Подключение стандартных библиотек
Здравствуйте, имеется проект-парсер pascal для Windows XP(ну нету у техникума денег на лицензию вин 7). Как обычно: пишу код,...

24
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
16.03.2021, 09:45
Цитата Сообщение от gena8208 Посмотреть сообщение
Как и что делать чтобы exe отдельно работал?
А на других машинах установлена СУБД ?
0
4 / 4 / 1
Регистрация: 20.12.2019
Сообщений: 310
16.03.2021, 10:07  [ТС]
Цитата Сообщение от Почтальон Посмотреть сообщение
А на других машинах установлена СУБД ?
Не факт. База лежит в инете. Программой могут пользоваться все кто ее скачал из дома и подключаться к базе. Ну на моем то компе установлена. Я из папки repos запускаю и работает, а с рабочего стола уже не пашет
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,575
16.03.2021, 12:05
Цитата Сообщение от gena8208 Посмотреть сообщение
Я из папки repos запускаю и работает, а с рабочего стола уже не пашет
DLL зависимости и конфиг файл тоже на рабочий стол скопировали?
0
4 / 4 / 1
Регистрация: 20.12.2019
Сообщений: 310
16.03.2021, 12:10  [ТС]
Цитата Сообщение от Someone007 Посмотреть сообщение
DLL зависимости и конфиг файл тоже на рабочий стол скопировали?
Честно? Нет. Я не знаю где эта DLL лежит и что ее нужно вместе с файлом таскать

Да . только что скачал в папке с прогой папка LIB оттуда скачал. И app.config
0
4 / 4 / 1
Регистрация: 20.12.2019
Сообщений: 310
16.03.2021, 12:16  [ТС]
Цитата Сообщение от Someone007 Посмотреть сообщение
DLL зависимости и конфиг файл тоже на рабочий стол скопировали?
Да . только что скачал в папке с прогой папка LIB оттуда скачал. И app.config
Миниатюры
Подключение библиотек  
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
16.03.2021, 12:41
gena8208, возможно из-за прав, 10-ка любит ограничивать права рабочему столу.
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,575
16.03.2021, 12:54
Смотрите call stack в каком месте у вас NRE.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18311 / 14235 / 5368
Регистрация: 17.03.2014
Сообщений: 28,905
Записей в блоге: 1
16.03.2021, 12:58
gena8208, нажмите "Сведения" и посмотрите где именно возникает NullReferenceException
0
4 / 4 / 1
Регистрация: 20.12.2019
Сообщений: 310
16.03.2021, 13:52  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
gena8208, нажмите "Сведения" и посмотрите где именно возникает NullReferenceException
Подробная информация об использовании оперативной
(JIT) отладки вместо данного диалогового
окна содержится в конце этого сообщения.

************** Текст исключения **************
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в BalancesOS.LoginForm..ctor()
в BalancesOS.MainForm.Form1_Load(Object sender, EventArgs e)
в System.Windows.Forms.Form.OnLoad(EventAr gs e)
в System.Windows.Forms.Form.OnCreateContro l()
в System.Windows.Forms.Control.CreateContr ol(Boolean fIgnoreVisible)
в System.Windows.Forms.Control.CreateContr ol()
в System.Windows.Forms.Control.WmShowWindo w(Message& m)
в System.Windows.Forms.Control.WndProc(Mes sage& m)
в System.Windows.Forms.Form.WmShowWindow(M essage& m)
в System.Windows.Forms.NativeWindow.Callba ck(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Загруженные сборки **************
mscorlib
Версия сборки: 4.0.0.0
Версия Win32: 4.8.3928.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
BalancesOSv2
Версия сборки: 2.0.1.0
Версия Win32: 2.0.1.0
CodeBase: file:///C:/Users/User/Desktop/BalancesOSv2.exe
----------------------------------------
System.Windows.Forms
Версия сборки: 4.0.0.0
Версия Win32: 4.8.3928.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Версия сборки: 4.0.0.0
Версия Win32: 4.8.3928.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Версия сборки: 4.0.0.0
Версия Win32: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Data
Версия сборки: 4.0.0.0
Версия Win32: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Core
Версия сборки: 4.0.0.0
Версия Win32: 4.8.3928.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Версия сборки: 4.0.0.0
Версия Win32: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
Версия сборки: 4.0.0.0
Версия Win32: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Data.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Data.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Data.resources.dll
----------------------------------------
System.Windows.Forms.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
System.Transactions
Версия сборки: 4.0.0.0
Версия Win32: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
Версия сборки: 4.0.0.0
Версия Win32: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
mscorlib.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.8.3761.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------

************** Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данного
приложения или компьютера (machine.config) должен иметь
значение jitDebugging, установленное в секции system.windows.forms.
Приложение также должно быть скомпилировано с включенной
отладкой.

Например:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

При включенной отладке JIT любое необрабатываемое исключение
пересылается отладчику JIT, зарегистрированному на данном компьютере,
вместо того чтобы обрабатываться данным диалоговым окном.

Только не совсем понятно где именно

Добавлено через 3 минуты
Цитата Сообщение от Почтальон Посмотреть сообщение
gena8208, возможно из-за прав, 10-ка любит ограничивать права рабочему столу.
я и на Windows Server 2008 запускал. Проблема мне кажется в этих библиотеках. Как только строка не прямая а через конфиг то не запускается. А из папки то запускается

Добавлено через 6 минут
Только сильно тапками не кидайте плиз. Вот код программы
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Data.Common;
using System.Data.Sql;
using System.Configuration;
 
namespace BalancesOS
{
    public partial class LoginForm : Form
    {
        public MainForm f1;
        SqlConnection sqlConn;
        DataTable dbTable = new DataTable();
        SqlDataAdapter dbAdp;
        BindingSource bs;
        int Menuitem;
        string query;
        string Tname;
        public string Office2;
        public string user2;
        int I;
        public string kassir2;
             
 
        public LoginForm()
        {
            
            InitializeComponent();
          string conStr = ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString();
          sqlConn = new SqlConnection(conStr);
 
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            
            if (LoginBox.Text == "" || PasswordBox.Text == "")
            {
                MessageBox.Show("Зачем нажимать на кнопку, если не выбран пользователь или не введен пароль", "Авторизация", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
            else
            {
                int I = 0;
                SqlCommand cmd = sqlConn.CreateCommand();
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = "select logo from Employees where login = '" + LoginBox.Text + "'and password= '" + PasswordBox.Text + "'";
                dbTable = new DataTable();
                dbAdp = new SqlDataAdapter(cmd);
                Office2 = (string)cmd.ExecuteScalar();
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = "select kassir from Employees where login = '" + LoginBox.Text + "'and password= '" + PasswordBox.Text + "'";
                kassir2 = (string)cmd.ExecuteScalar();
                dbAdp.Fill(dbTable);
                I = Convert.ToInt32(dbTable.Rows.Count.ToString());
                if (I == 0)
                {
                    //Выдать ошибку
                    MessageBox.Show("Пользователь " + LoginBox.Text + " не найден или неверно указали пароль", "Авторизация", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    sqlConn.Close();
 
 
                }
                else
                {
                    MessageBox.Show("Добро пожаловать " + LoginBox.Text + "!", "Авторизация", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    user2 = LoginBox.Text;
                    Close();
 
                }
            }
        }
 
 
        private void LoginForm_Load(object sender, EventArgs e)
        {
            sqlConn.Open();
            SqlCommand cmd = sqlConn.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "Select * from Employees ORDER BY login";
            dbTable = new DataTable();
            dbAdp = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            dbAdp.Fill(ds);
            LoginBox.DataSource = ds.Tables[0];
            LoginBox.DisplayMember = "login";
        }
    }
 }
Все работает, но с прямой строкой подключения на всех компах. Если через конфиг то не пашет. только из папки
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,575
16.03.2021, 13:52
Проблема где-то в конструкторе класса LoginForm. Скорее всего ConfigurationManager.ConnectionStrings["DefaultConnection"] возвращает null.

C#
1
2
3
4
5
6
7
object cso = ConfigurationManager.ConnectionStrings["DefaultConnection"];
if (cso == null)
{
    MessageBox.Show("не удалось получить строку подключения к бд");
    return;
}
string conStr = cso.ToString();
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18311 / 14235 / 5368
Регистрация: 17.03.2014
Сообщений: 28,905
Записей в блоге: 1
16.03.2021, 13:54
Лучший ответ Сообщение было отмечено gena8208 как решение

Решение

gena8208, файл конфигурации вы рядом положили? Он должен называться программа.exe.config.
1
4 / 4 / 1
Регистрация: 20.12.2019
Сообщений: 310
16.03.2021, 13:56  [ТС]
Цитата Сообщение от Someone007 Посмотреть сообщение
Проблема где-то в конструкторе класса LoginForm. Скорее всего ConfigurationManager.ConnectionStrings["DefaultConnection"] возвращает null.
Я понимаю что NULL но где и почему

Добавлено через 1 минуту
Цитата Сообщение от OwenGlendower Посмотреть сообщение
gena8208, файл конфигурации вы рядом положили? Он должен называться программа.exe.config.
нет я положил app.config Я не знал какой
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,575
16.03.2021, 13:57
Лучший ответ Сообщение было отмечено gena8208 как решение

Решение

Цитата Сообщение от gena8208 Посмотреть сообщение
И app.config
Конфиг не так должен называться. В имени конфига должно быть имя исполняемого файла.
1
4 / 4 / 1
Регистрация: 20.12.2019
Сообщений: 310
16.03.2021, 14:06  [ТС]
Цитата Сообщение от OwenGlendower Посмотреть сообщение
gena8208, файл конфигурации вы рядом положили? Он должен называться программа.exe.config.
Это помогло. Спасибо. Его теперь всегда класть в одну папку с прогой? А если пользователь скачивает к себе на комп?
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
16.03.2021, 14:23
gena8208, для избежания подобных инцедентов, нужно использовать установщики, которые соберут ваши файлы в один установочник и при установке распакуют все что нужно для работы программы.
0
4 / 4 / 1
Регистрация: 20.12.2019
Сообщений: 310
16.03.2021, 14:36  [ТС]
Цитата Сообщение от Почтальон Посмотреть сообщение
нужно использовать установщики
Посоветуете?
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
16.03.2021, 14:39
Цитата Сообщение от gena8208 Посмотреть сообщение
Посоветуете?
InnoSetup
1
4 / 4 / 1
Регистрация: 20.12.2019
Сообщений: 310
16.03.2021, 14:54  [ТС]
Цитата Сообщение от Почтальон Посмотреть сообщение
gena8208, для избежания подобных инцедентов, нужно использовать установщики, которые соберут ваши файлы в один установочник и при установке распакуют все что нужно для работы программы.
Я может чего то не понимаю. В конфиг файле с ехе написана строка подключения с паролем и логином к БД. Как тогда от пользователя эту инфу скрыть?

Добавлено через 38 секунд
Цитата Сообщение от OwenGlendower Посмотреть сообщение
gena8208, файл конфигурации вы рядом положили? Он должен называться программа.exe.config.
Я может чего то не понимаю. В конфиг файле с ехе написана строка подключения с паролем и логином к БД. Как тогда от пользователя эту инфу скрыть?
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
16.03.2021, 14:56
Цитата Сообщение от gena8208 Посмотреть сообщение
Как тогда от пользователя эту инфу скрыть?
"зашить" в программу ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.03.2021, 14:56
Помогаю со студенческими работами здесь

Подключение библиотек Linq
The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?) The type or namespace...

Подключение dll Библиотек на C#
Здравствуйте всем!!! Как подключить к проекту написанному на C# dll библиотеку на C# и вызвать функцию из dll - ки? Только мне...

Подключение библиотек Microsoft.TeamFoundation
Возникла проблема с подключением стандартных библиотек: Microsoft.TeamFoundation.TestManagement.Client.dll ;...

Подключение библиотек с одноименными типами
Добрый день. В своем проекте я использую две вещи: using Accord.Imaging; и using AForge.Imaging; обычная строчка ...

Подключение и использование внешних dll-библиотек
написал метод, который получает данные с базы данных, его проверил, работает: using System; using System.Collections.Generic; using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru