Собственная компиляция предварительно созданного двоичного файла .NET с использованием ilc завершается с ошибкой «Main()C#

Место общения программистов C#
Ответить
Anonymous
 Собственная компиляция предварительно созданного двоичного файла .NET с использованием ilc завершается с ошибкой «Main()

Сообщение Anonymous »

У меня есть двоичный файл .NET, который необходимо скомпилировать с использованием .NET Aot после этапа обфускации исходного двоичного файла с помощью Obfuscar.
В качестве воспроизводимого примера приведем пример >

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

public static class Program {
public static Main(string[] args) {
Console.WriteLine(args[1]);
Console.WriteLine("test");
}
}
и вот obfuscar.xml а вот скрипт сборки

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

@echo off
dotnet build -c Release
Obfuscar.console obfuscar.xml
теперь мне нужно превратить этот dll-файл в exe-файл, сначала скопировав все dll-файлы в каталог obf, а затем запустив

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

ilc  -r ./ --systemmodule System.Private.CoreLib  "BUILD.dll" -o BUILD.exe 
который не создает двоичный файл

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

Error: One or more errors occurred. (Main() has parameters, but the class library doesn't support them)
System.AggregateException: One or more errors occurred. (Main() has parameters, but the class library doesn't support them)
---> System.Exception: Main() has parameters, but the class library doesn't support them
и я не понимаю, как NativeAot изначально создает исполняемые файлы, мне нужно воспроизвести эту настройку, но с помощью этапа запутывания.


Подробнее здесь: https://stackoverflow.com/questions/790 ... n-has-para
Ответить

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

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

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

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

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