Использую Visual Studio 2017 Developer Command Prompt v15.0.26403.7
К примеру, есть своя библиотека классов по пути D:\Mylibrary\Mylibrary.dll
И вторая папка D:\testproject\, в ней три файла test.cs, test.rsp и Mylibrary.dll (без неё не работает)
Хочу скомпилировать файл test.cs из командной строки с использованием этой библиотеки;
Создал файл test.rsp
/lib:D:\Mylibrary\
/r:Mylibrary.dll
/target:exe
*.cs
Файл test.cs:
using System;
using Mylibrary;
namespace test
{
class Program
{
static void Main(string[] args)
{
StreamReader sr = new StreamReader("test.txt"); //Работает
Mylibrary.TestClass tc = new Mylibrary.TestClass();
}
}
}
Почему пришлось вручную скопировать файл Mylibrary.dll в папку с исходным кодом \testproject, если уже указана ссылка в файле test.rsp?
Если удалить её из этой папки, то выдаёт ошибку:
Необработанное исключение: System.IO.FileNotFoundException: Не удалось загрузить файл или сборку "ClassLibrary_CGC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" либо одну из их зависимостей. Не удается найти указанный файл.
Видимо, не совсем понимаю, как работает параметр /lib, так как думаю, что она говорит компилятору, что нужно искать dll в таком-то каталоге.
https://docs.microsoft.com/en-us/dotnet/csharp/lan...