我有一个C#文件,我想把它变成一个dll。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”很好。我很困惑。
发布于 2015-03-23 21:33:37
我想通了。我不得不像这样通过mono.exe运行这个程序:
mono.exe ../lib/mono/2.0/gmcs.exe ../lib/mono/2.0/Test1.cs -target:library -out:Test1.dll谢谢你的帮助!
https://stackoverflow.com/questions/29149889
复制相似问题