Доброе утро. Я совершенно новичок в C# и у меня есть вопрос по поводу ссылки или встраивания DLL в .EXE файл. У меня есть программа, которая использует библиотеку OPCLabsUA для связи с сервером UA. Это очень просто - просто напишите значение на сервер. Everythink работает хорошо, когда у меня есть библиотека в папке с файлом .exe, иначе это не будет работать. Проект будет использоваться на другом компьютере.
Я предполагаю, что недостаточно просто иметь ссылочный путь в проекте - библиотека будет установлена и на другом компьютере, с тем же путем, что и на p c Я пишу программу. Так я должен go через "Assembly, AssemblyResolve ..., .Load" ?? Путь к библиотеке
Первое редактирование: Ошибка - Я перестроил проект, Второе редактирование: в VS он тоже НЕ РАБОТАЕТ - файл не найден - но он находится в PFiles, в точности как Path в VS, говорит, что когда DLL находится на exe, и я запускаю exe, она работает, но когда нет, она не работает даже на моем рабочем столе p c. В этом есть - Система не может загрузить файловые или сборочные opclabs ..... или один из независимых функций. Sys не может найти файл. Я почти уверен, это просто какая-то ошибка новичка. Мои шаги - начать новое решение. NET - консольное приложение, добавить ссылку из progra / oplabs ... BaseLib.dll и EasyOPCUA.dll, затем, используя их в проекте, написать программу, запустить ее в VS - ОК. Затем go Repos .... / debug - вот мой exe. Третье редактирование: я изменил путь к библиотеке в .csproj на абсолютный
<Reference Include="OpcLabs.BaseLib, Version=5.57.125.1, Culture=neutral, PublicKeyToken=6faddca41dacb409, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\test\OpcLabs.BaseLib.dll</HintPath>
<Private>False</Private>
</Reference>
В C: \ test \ - это файл OpcLabs.BaseLib.dll
Второй вопрос - есть ли способ встроить только часть библиотеки, которую мой sln использует не всю DLL? Он довольно большой (20 МБ).
Заранее спасибо за ответ.