1、选中附件,右键生成操作选择 嵌入的资源,例如:handle.exe
2、FileUtil
using System.IO;
using System.Reflection;
namespace ResourceOccupancyHelp
{
public class FileUtil
{
/// <summary>
/// 从资源文件中抽取资源文件
/// </summary>
/// <param name="resFileName">资源文件名称(资源文件名称必须包含目录,目录间用“.”隔开,最外层是项目默认命名空间)</param>
/// <param name="outputFile">输出文件</param>
public static void ExtractResFile(string resFileName, string outputFile)
{
BufferedStream inStream = null;
FileStream outStream = null;
try
{
Assembly asm = Assembly.GetExecutingAssembly(); //读取嵌入式资源
inStream = new BufferedStream(asm.GetManifestResourceStream(resFileName));
outStream = new FileStream(outputFile, FileMode.Create, FileAccess.Write);
byte[] buffer = new byte[1024];
int length;
while ((length = inStream.Read(buffer, 0, buffer.Length)) > 0)
{
outStream.Write(buffer, 0, length);
}
outStream.Flush();
}
finally
{
if (outStream != null)
{
outStream.Close();
}
if (inStream != null)
{
inStream.Close();
}
}
}
}
}
3、调用demo
FileUtil.ExtractResFile("ResourceOccupancyHelp.handle.exe", System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "handle.exe"));
特别注意,生成的exe需要用命名空间最前缀,如果有文件夹的话也需要完整加上。