我有一个相当简单的应用程序,我在OS X 10.7(Lion)上使用MonoDevelop 3.0 / XCode 4.0 / .NET 4.0构建。基本上,我有一个Windows GUI和一个用于应用程序的Mac GUI,它们共享一个类库。类库非常简单(故意),并通过MoMA测试以飞扬的颜色。我的OS X GUI在我的开发OS X机器上运行完美,但是当我创建.pkg文件并将其安装在测试OS X机器上时,它根本不会运行。我在测试机器上安装了Mono运行时 - 仅运行时,而不是SDK或MonoDevelop。应用程序将打开,但是一旦我调用共享库,它就会失败并显示
System.IO.FileNotFoundException:无法加载文件或程序集“xxx”或其依赖项之一。
我的共享库只有以下依赖项:
当然,基本的Mono框架支持所有这些程序集,对吧?我错过了什么?我无法相信发布像这样的简单应用程序(通过.pkg文件,而不是AppStore)是如此困难!有人可以指点我正确的方向吗?感谢。
答案 0 :(得分:1)
好的,所以,总的noob / forehead slapping moment:我的应用程序在我的开发OS X环境上运行而不是在测试盒上运行的原因? .NET框架!我使用Visual Studio 2012 / .NET 4.5 / Windows 7构建了类库,使用MoMA进行了检查,然后将其复制到我的开发OS X,在我的MonoMac项目中设置对它的引用,一切都很好,对吧?那是因为那个盒子上有MonoDevelop和.NET框架!当我创建我的.pkg并将其安装在新的OS X盒子上时,安装是否足够智能下载和安装Mono环境,但不是.NET框架,谁可以责怪它?解决方案:针对Mono 4.0构建类库,并在我的MonoMac版本中使用 程序集!问题解决了。
感谢您的帮助和评论。请原谅这个问题的基本愚蠢:我不仅是Mono / OS X菜鸟,我也是桌面开发菜鸟。我是个网络人,因为大声喊叫!