是否更改.NET可执行后期生成的图标?
我有一个.NET应用程序,我生产了几个不同的版本-完全相同的应用程序,但具有不同的“品牌”(启动屏幕、名称等)。我在主可执行文件之外有所有这些差异,所以它们都是在运行时提取的。但是,我无法使用程序图标执行此操作,因为它已烘焙到EXE文件中 我想避免仅仅为了图标而做很多不同的项目。有没有办法修改已生成的.NET EXE的图标?我有一种感觉,在这里可能很方便,但我不确定如何使用分解后的位来更改图标,以便将其输入到ILAsm中 我是否应该使用一个脚本来修改原始项目文件,以使用一个新图标并重新构建整个项目是否更改.NET可执行后期生成的图标?,.net,msbuild,.net,Msbuild,我有一个.NET应用程序,我生产了几个不同的版本-完全相同的应用程序,但具有不同的“品牌”(启动屏幕、名称等)。我在主可执行文件之外有所有这些差异,所以它们都是在运行时提取的。但是,我无法使用程序图标执行此操作,因为它已烘焙到EXE文件中 我想避免仅仅为了图标而做很多不同的项目。有没有办法修改已生成的.NET EXE的图标?我有一种感觉,在这里可能很方便,但我不确定如何使用分解后的位来更改图标,以便将其输入到ILAsm中 我是否应该使用一个脚本来修改原始项目文件,以使用一个新图标并重新构建整个项
或者我可能完全错了,任何建议都将不胜感激。您可以将exe保留为“未标记”,并将图标作为单独的文件保存。在部署过程中,为应用程序快捷方式使用适当的图标。您可以将exe保留为“未绑定”,并将图标作为单独的文件保存。在部署期间,为应用程序快捷方式使用适当的图标。请查看ResHacker.exe或XN资源编辑器。我没有使用XN资源编辑器,但使用了ResHacker来更改PE中的图标资源。请查看ResHacker.exe或XN资源编辑器。我没有使用XN资源编辑器,但使用了ResHacker来更改PE中的图标资源。我最终需要更改的不仅仅是图标。因此,我使用生成一个存根exe,其中包含引用“real”启动程序集的所有正确位,并只调用它的“main”版本 为此设置正确的图标只是使用的问题
var compilerParams = new CompilerParameters
{
GenerateExecutable = true,
CompilerOptions = string.Format("/target:winexe /win32icon:\"{0}\"", iconPath)
// ... other options ...
}
打电话时:
var codeProvider = new CSharpCodeProvider();
codeProvider.CompileAssemblyFromSource(compilerParams, new[] { sourceCode });
我最终需要改变的不仅仅是图标。因此,我使用生成一个存根exe,其中包含引用“real”启动程序集的所有正确位,并只调用它的“main”版本 为此设置正确的图标只是使用的问题
var compilerParams = new CompilerParameters
{
GenerateExecutable = true,
CompilerOptions = string.Format("/target:winexe /win32icon:\"{0}\"", iconPath)
// ... other options ...
}
打电话时:
var codeProvider = new CSharpCodeProvider();
codeProvider.CompileAssemblyFromSource(compilerParams, new[] { sourceCode });
这是我倾向的选择,但我最终需要改变的不仅仅是图标。因此,我现在使用CodeDom生成一个存根exe,其中包含所有正确的位,这些位将直接调用“real”Main方法。这是我倾向于的选项,但我最终需要更改的不仅仅是图标。因此,我现在使用CodeDom生成一个存根exe,其中包含所有正确的位,这些位将调用“real”Main方法。