我是新来的。
我已经在这个网站上搜索了答案,并找到了一种解决方法,但我仍然希望解决最初的问题。我已将目标框架设置为Mono/.NET 4.0
并且我正在使用Mysql.Data.dll
. 它编译得很好,但是当我尝试在笔记本电脑上的 xsp2 Web 服务器上运行它时,我遇到了错误:
程序集中缺少方法 .ctor
/tmp/kari-temp-aspnet-0/eaee30a1/assembly/shadow/04e2c4cc/18848ad4_1c664e18_00000001/MySql.Data.dll,类型 System.Security.SecurityRulesAttribute
找不到自定义 attr 构造函数图像:
/tmp /kari-temp-aspnet-0/eaee30a1/assembly/shadow/04e2c4cc/18848ad4_1c664e18_00000001/MySql.Data.dll mtoken: 0x0a00002a
缺少方法 System.Threading.Monitor::Enter(object,bool&) 在程序集 /usr/lib/mono /2.0/mscorlib.dll,在程序集中引用 /tmp/kari-temp-aspnet-0/eaee30a1/assembly/shadow/04e2c4cc/18848ad4_1c664e18_00000001/MySql.Data.dll
在这里你可以看到它正在使用.../2.0/mscorlib.dll
. 我试图创建一个新项目,就像这个线程建议Mono 采用 mscorlib.dll 2.0 而不是 4.0但它仍然做同样的事情。如果我将目标框架设置为Mono/.NET 2.0
,我会遇到一些其他错误。
对于解决方法,我mscorlib.dll
在 2.0 中重命名,然后在 4.0 目录中创建了指向同一文件的符号链接,正如这里的一些帖子所建议的那样,它可以工作,但我对此并不满意。
有没有办法手动编辑项目配置文件以选择 4.0 目标而不是 2.0?这应该作为一个错误报告给 MonoDevelop 吗?我正在使用 MonoDevelop 2.8.6.3。