リソースとしてxmlファイルを使用して1つの.csをコンパイルするプログラムを構築しようとしています。コンパイルするための次のコードがあります。
private void Builder(bool run)
{
CodeDomProvider compiler = CodeDomProvider.CreateProvider("CSharp");
string output = "Output.exe";
string inputXml = "Input.xml";
string xml = File.ReadAllText(inputXml);
string inputCS = Properties.Resources.Program;
IResourceWriter writer = new ResourceWriter("temp.resources");
writer.AddResource("Story", xml);
writer.Close();
CompilerParameters parameters = new CompilerParameters();
//Make sure we generate an EXE, not a DLL
parameters.GenerateExecutable = true;
parameters.OutputAssembly = output;
parameters.GenerateInMemory = false;
parameters.ReferencedAssemblies.Add("System.dll");
parameters.ReferencedAssemblies.Add("mscorlib.dll");
parameters.ReferencedAssemblies.Add("System.Xml.dll");
parameters.EmbeddedResources.Add("temp.resources");
CompilerResults results = compiler.CompileAssemblyFromSource(parameters, inputCS);
if (run)
{
Process.Start(output);
}
}
しかし、コンパイルエラーProperties
があり、 からの有効な参照ではないと言っていますProperties.Resources.Story
:
コンパイルする cs ファイルのコード
static bool LoadData()
{
bool result = true;
Program.doc = new XmlDocument();
doc.LoadXml(Properties.Resources.Story);
return result;
}
更新:これは特定のエラーです:
c:\Users\Nick\AppData\Local\Temp\zk14fqrm.0.cs(38,25): エラー CS0103: 'Properties' という名前が現在のコンテキストに存在しません
では、これを修正するには、これを変更する必要がありますか?