Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于记事本的CS脚本++;使用图标准备要分发的exe_C#_Notepad++_Exe_Cs Script - Fatal编程技术网

C# 用于记事本的CS脚本++;使用图标准备要分发的exe

C# 用于记事本的CS脚本++;使用图标准备要分发的exe,c#,notepad++,exe,cs-script,C#,Notepad++,Exe,Cs Script,我在C完全是个新手# 我正在使用Notepad++与Notepad++的CS脚本插件进行编码。 我在里面写了一个小脚本 在这样的脚本中,我使用了我自己制作的traybar图标,并在脚本中包含了对它的引用,以及下面的代码行 trayIcon.Icon = new Icon("icon.ico"); 这几乎可以满足我的需要。。。但请看下图进行澄清: 然后,我用CS Script命令准备了exe以供分发,它工作得很好。问题是编译过程没有将图标包含到二进制文件中,因此我必须手动将图标文件包含到二进制

我在C完全是个新手# 我正在使用Notepad++与Notepad++的CS脚本插件进行编码。 我在里面写了一个小脚本

在这样的脚本中,我使用了我自己制作的traybar图标,并在脚本中包含了对它的引用,以及下面的代码行

trayIcon.Icon = new Icon("icon.ico");
这几乎可以满足我的需要。。。但请看下图进行澄清:

然后,我用CS Script命令准备了exe以供分发,它工作得很好。问题是编译过程没有将图标包含到二进制文件中,因此我必须手动将图标文件包含到二进制文件的同一目录中:事实上,如果没有包含图标文件,生成的exe文件将挂起并出错

问题: 有没有办法解决这个问题,使“二进制软件包”同时包含可执行部分和ico资源文件

限制条件: 我知道我可以创建一个rar、zip或压缩的exe(自解压文件),但我不是说:我想要一个带有图标的exe文件,可以单独执行和移动。 换句话说,图标必须嵌入到独立的exe中,因为它是exe文件图标本身和windows traybar的图标


我找到了从CS脚本编译的二进制文件中的嵌入式资源中获取
图标的方法。图标文件名为
alpha.ico

请注意
使用部分

//css_resource alpha.ico

using System;
using System.Drawing;
using System.Windows.Forms;
using System.Reflection;

class Script
{
    [STAThread]
    static public void Main(string[] args)
    {
        var assembly = Assembly.GetExecutingAssembly();

        using (var stream = assembly.GetManifestResourceStream("alpha.ico"))
        {
            var icon = new Icon(stream);
        }
    }
}

请尝试使用
css\u resource
指令将您的图标包含到二进制文件中@UladzimirPalekh Tnx的回应:我插入了以下代码//css_resource icon.ico;现在包含了该文件(exe比以前大),但它仍然没有用作exe图标,如果图标不在目录中,exe仍然挂起。我上一条评论中的链接包含用法示例(最后一个带有
ResourceManager
的代码片段)。您还可以查看此问题以了解更多信息:@UladzimirPalekh我查看了您发布的链接,并对代码进行了一些修改,但仍然不起作用:我收到错误:错误CS0103:当前上下文中不存在名称“Resources”。e:\C#Scripts\ScreenShots.cs(77,20):错误CS0029:无法转换System.Drawing.Bitmap“in”System.Drawing.Icon“error CS0103:名称“Assembly”非esiste nel Concertente。e:\C#Scripts\ScreenShots.cs(71,19):错误CS1061:“System.Resources.ResourceManager”不包含“ResourceManager”的定义,并且找不到任何扩展“ResourceManager”的方法。我已经翻译了错误文本从我的语言不是英语,我希望这有助于Tnx