Как перемещать ссылки на подпажку и не нарушать ссылкиC#

Место общения программистов C#
Ответить
Anonymous
 Как перемещать ссылки на подпажку и не нарушать ссылки

Сообщение Anonymous »

У меня есть несколько DLL, которые я ссылаюсь в своей программе C#. Когда я строю программу, все эти DLL копируются в папку вывода корня. Однако, как только я делаю это в своем файле. Build.

Код: Выделить всё

DLLtest.csproj

Код: Выделить всё



Exe
net9.0
enable
enable

$(OutputPath)dll\




dll\SQLite.dll
true



PreserveNewest
dll\%(Filename)%(Extension)




Попытка runtimeconfig.template.json

Код: Выделить всё

{
"runtimeOptions": {
"tfm": "net9.0",
"framework": {
"name": "Microsoft.NETCore.App",
"version": "9.0.0"
},
"additionalProbingPaths": [
"dll"
]
}
}
Попытка app.config Каждый раз, когда я запускаю Dotnet Clean , Dotnet Restore и Dotnet Build перед запуском. Продолжайте получать пропущенную ошибку сборки: < /p>

Код: Выделить всё

Unhandled exception. System.IO.FileNotFoundException: Could not load file or assembly 'SQLite, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
File name: 'SQLite, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
at DLLTest.Program.Main(String[] args)
< /code>
Согласно запросу: < /p>
Код выполнения, который получает ошибку: < /p>
using SQLite_Operations

namespace DLLTest
{
public class Program
{
static void Main(string[] args)
{
int dur = SQLite.Open("chinook.db");
dur = SQLite.Close();
}
}
}
< /code>
фрагмент из кода DLL: < /p>
namespace SQLite_Operations;

public class SQLite
{

protected static IntPtr db;
protected static IntPtr arg;
protected static IntPtr errmsg;

// DLL Function Imports
[DllImport(".\\sqlite3.dll", EntryPoint = "sqlite3_open")]
private static extern int sqlite3_open(string filename, out IntPtr db);

[DllImport(".\\sqlite3.dll", EntryPoint = "sqlite3_close")]
private static extern int sqlite3_close(IntPtr db);

public static int Open(string filename)
{
return sqlite3_open(filename, out db);
}

public static int Close()
{
return sqlite3_close(db);
}
}
Я использую сборку sqlite3.dll и создаю свой собственный DLL, который я могу подключить к любой программе и использовать в качестве интерфейса (для разъяснения).


Подробнее здесь: https://stackoverflow.com/questions/797 ... references
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»