【发布时间】:2020-12-20 04:57:01
【问题描述】:
我需要使用我的应用程序创建一个 EXE 文件,我可以通过操纵字符串格式来传递字符串,但我无法将我需要的其他变量传递给 ex:byte 数组,如果这有帮助,这是我的代码:
using Microsoft.CSharp;
using System;
using System.CodeDom.Compiler;
using System.Windows;
namespace ACompiler.CompWorker
{
class CompilerWorker
{
public static byte[] testarray = SomeClass.SomeArray;
public static string Key = "Testkey12";
public static void Compile()
{
CSharpCodeProvider CompileProvider = new CSharpCodeProvider();
CompilerParameters CompileProviderParameters = new CompilerParameters(new[] { "mscorlib.dll", "System.Core.dll" }, AppDomain.CurrentDomain.BaseDirectory + "Compiled.exe", true);
CompileProviderParameters.GenerateExecutable = true;
string test= @"using System;
namespace Tests
{
class Program
{
static void Main(string[] args)
{
byte[] Content = " + testarray + @";
string Key = """ + Key + @""";
Console.WriteLine(""Key: "" + EKey);
Console.WriteLine(Content);
Console.ReadLine();
}
}
}
";
var Result = CompileProvider.CompileAssemblyFromSource(CompileProviderParameters, test);
}
}
}
基本上我想将“testarray”移动到已编译的应用程序中,希望有人能指出我正确的方向!
【问题讨论】:
标签: c# variables csharpcodeprovider