Динамически создать скомпилированный .NET EXE из исходного кода? - PullRequest
2 голосов
/ 28 августа 2010

Мне нужно вставить пользовательскую уникальную статическую строку в мой .NET-файл на основе EXE. Предположим, что это мой закрытый ключ PKI.

У меня есть несколько идей о том, как я буду подходить к защите закрытого ключа в исходном коде C #, мой вопрос: как мне взять мои файлы .CS и создать на его основе исполняемый файл?

Ответы [ 2 ]

4 голосов
/ 28 августа 2010

Взгляните на CSharpCodeProvider , который, по сути, можно использовать, взять строку, содержащую исходный код, и скомпилировать ее в сборку (EXE или DLL) или, если требуется, сборку в памяти.

Вы также можете использовать codeDOM для генерации кода. Взгляните на «Генерация исходного кода и компиляция программы из графика CodeDOM» в качестве отправной точки.

3 голосов
/ 28 августа 2010

Самое простое, что можно сделать, это вызвать csc , компилятор C #.

Например: (со страницы MSDN, указанной выше)

csc /out:My.exe File.cs

Создает исполняемый файл с именем My.exe из входного файла с именем File.cs.

Если исполняемый файл, который вы хотите скомпилировать, довольно сложный, может оказаться проще сохранить его предварительно скомпилированным и скомпилировать только ту DLL, в которой он вызывает метод во время выполнения, для получения закрытого ключа, поскольку это будет более простая команда линия для перехода к csc.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...