Я ищу способ сделать значок из исполняемого файла и создать новый исполняемый файл (используя CSharpCodeProvider), который использует этот значок.Создание исполняемого файла с иконкой из другой сборки
Первая часть легко, я делаю это с помощью:
Icon icon = Icon.ExtractAssociatedIcon(path);
Проблемы возникают, когда я хочу, чтобы «пристроить» значок. Я попытался с помощью:
compilerParameters.CompilerOptions = @"/win32icon:"
Но это решение требует значок, чтобы записать в файл, и я хотел бы избежать этого (одна из причин того, что такой беспорядок, чтобы сохранить значок с более чем 16 цветов ...).
Возможно ли использовать объект System.Drawing.Icon в памяти напрямую?
EDIT: Чтобы быть ясным, я пытаюсь получить код, который может скомпилировать код C# в исполняемый файл. Этот исполняемый файл будет иметь значок, который сохраняется только в памяти (как объект Icon), а не в файле (в виде файла .ico).
Вы можете использовать приложение C# с roslyn, искать, как строить компиляцию с roslyn и вставлять ресурсы, подобные этому http://stackoverflow.com/questions/36969090/roslyn-embedd-content-into-assembly-solved – mohsen
Я читал о Roslyn и сделал некоторый тест. Я все еще не могу понять, как поместить значок в сгенерированное приложение, не используя файл. – Stud
Если вы установили значок в приложение, чтобы он сохранил файл ***. Resx ** в вашем проекте. Вы можете увидеть его в ** Свойства ** в ** Обозреватель решений ** в своем проекте в Visual Studio , дважды щелкнув этот файл * .resx. поэтому, когда вы хотите скомпилировать свой проект с помощью roslyn, вы должны перед созданием *** ресурсов ** файла из * .resx-файла и ** embed ** в вашу компиляцию. Visual Studio тоже делает эту работу при компиляции. Я отвечу на этот .iam занят, и я написал к сожалению, к сожалению, сейчас. – mohsen