Как использовать embedded.NET exe в библиотеке C# без восстановления файла из его байта[]?
У меня есть встроенный файл - xsd.exe - в моей библиотеке .NET.
Как я могу, не перестраивая встроенный файл из его byte[], использовать его?
Exe работает в командной строке, поэтому мне нужно иметь возможность делать вызовы, такие как: xsd /o:.. или что-то еще.
Я что-то читал о ManifestResourceStream, но я не могу найти его в рамках, и я понятия не имею, как его использовать.
Есть идеи?
1 ответ:
Если вы можете записать его во временный файл (
File.WriteAllBytes), вы можете создать новыйAppDomainи использоватьyourAppDomain.ExecuteAssembly(...); однако, чтобы сделать это вручную изbyte[], я ожидаю, что вам нужно будет загрузить его вручную сAssembly.Load(byte[],...), Посмотрите наloadedAssembly.EntryPointи используйте отражение, чтобы вызвать его. ПодходExecuteAssemblyгораздо проще...Конечно, если вы можете записать его в файл, вы также можете просто использовать
Process.Start, что даже более легко ;pВы также можете дважды проверить redist / deployment rights re
xsd.exe.