0

リソース ファイルの生成に使用する Windows フォーム アプリケーションがあります。このアプリケーションにそのような機能を追加しようとしています。これにより、別の Windows フォーム アプリケーションを実行可能ファイルにコンパイルして、これらのリソースを含めることができます。ただし、別の Windows フォーム プロジェクト パーツをコンパイルすることに固執しています。

この記事に従おうとしましたが、これまでのコードは次のようになります。

CompilerParameters parameters = new CompilerParameters();
parameters.GenerateExecutable = true;
parameters.IncludeDebugInformation = true;
parameters.GenerateInMemory = false;
//parameters.TreatWarningsAsErrors = true;
parameters.WarningLevel = 3;
parameters.CompilerOptions = "/optimize";
parameters.OutputAssembly = "Program.exe";

CSharpCodeProvider codeProvider = new CSharpCodeProvider();
CompilerResults results = codeProvider.CompileAssemblyFromFile(parameters, new string[] { "Program.cs" });

これを正しく行っているかどうか(Program.csファイルをコンパイルする必要があるかどうか)は正確にはわかりません。Program.cs ファイルは次のようになります。

using System;
using System.Windows.Forms;

namespace example
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

上記のコードでコンパイルしようとすると、次のエラーが発生します。

Line number 16, Error Number: CS0246, 'The type or namespace name 'Form1' could not be found (are you missing a using directive or an assembly reference?)

他のプロジェクトから何かをコンパイルしたことはありません。

4

1 に答える 1