Есть ли способ с Roslyn связать все зависимости с созданным приложением - PullRequest
1 голос
/ 03 апреля 2020

Я недавно начал работать с Roslyn для создания приложений во время выполнения.

Через несколько часов мне наконец удалось скомпилировать рабочий исполняемый файл консольного приложения, который выполняет только:

Console.WriteLine("Hello World, Roslyn");

Основная проблема, с которой я столкнулся, заключалась в том, как добавить ссылку в пространство имен System. Наконец, я использовал следующую строку, связанную с созданием объекта CSharpCompilation:

.AddReferences(MetadataReference.CreateFromFile(typeof(object).Assembly.Location))

Он работает отлично, но когда я пытаюсь отладить это, я обнаружил, что:

typeof(object).Assembly.Location

возвращает:

"C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ mscorlib.dll"

Я обеспокоен тем, что этот путь может варьироваться в зависимости от машины. Таким образом, мне было интересно, есть ли способ связать все зависимости рядом с сгенерированным .exe? (например, если вы хотите создать автономное приложение. Net Базовое приложение).

...