3

dll に変換したい C# ファイルがあります。Test1.cs には、次のコードが含まれています。

using System;

namespace ProgramLibrary
{
    public class Lib
    {
        public Lib()
        {
            Console.WriteLine("Lib Created");
        }
    }
}

gmcs.exe と Test1.cs を含むディレクトリで、次のコマンドを実行します。

gmcs -target:library -out:Test1.dll Test1.cs

これにより、次のエラーが生成されます。

Unhandled Exception: System.ArgumentException: Illegal enum value: 2051.
Parameter name: access
   at System.AppDomain.InternalDefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access, String dir, Evidence evidence, PermissionSet requiredPermissions, PermissionSet optionalPermissions, PermissionSet refusedPermissions, StackCrawlMark& stackMark, IEnumerable`1 unsafeAssemblyAttributes)
   at System.AppDomain.DefineDynamicAssembly(AssemblyName name, AssemblyBuilderAccess access, String dir)
   at Mono.CSharp.CodeGen.Init(String name, String output, Boolean want_debugging_support, CompilerContext ctx)
   at Mono.CSharp.Driver.Compile()
   at Mono.CSharp.Driver.Main(String[] args)
Signal 79

私はWindows 7 64を使用しています。これまでのところ、cmdとcygwinで実行してみました。コードを何も削除しないように変更し、コマンドライン引数のバリエーションを変更して、たとえば「out:」を省略しました。「gmcs - -version」は正常に動作します。私は困惑しています。

4

1 に答える 1