【发布时间】:2013-05-09 23:38:44
【问题描述】:
我有一个相当简单的应用程序,我在 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”或其依赖项之一。
我的共享库只有以下依赖:
- 系统
- 系统配置
- System.Core
- System.Xml.Linq
- System.Data.DataSetExtensions
- Microsoft.CSharp
- System.Data
- System.Xml
当然,基本的 Mono 框架支持所有这些程序集,对吧?我错过了什么?我不敢相信发布这样一个简单的应用程序(通过 .pkg 文件,而不是 AppStore)是如此困难!有人可以指出我正确的方向吗?谢谢。
【问题讨论】:
-
过去,我成功地创建了一个 MonoMac pkg 文件。所以它是可能的。
-
是的,我同意,这是可能的。我为一个没有任何外部引用的应用程序创建了一个 .pkg 文件,它运行良好。问题是,您是否成功发布了引用在其他地方创建的类库的 MonoMac pkg 文件?它访问数据了吗?它是否具有与我列出的相同的依赖项?只是说你做到了并没有多大帮助......对不起。
-
实际上,IIRC,我直接在 MonoDevelop 中创建了类库。它只使用 .NET 2 功能。也许您应该在 "...或其依赖项之一..." 部分进行调查,并获取错误正在谈论哪些依赖项的详细信息?
-
好吧,也许这就是我的问题:我在 Windows 7 上的 Visual Studio 2012 中构建了类库,然后在 MonoDevelop 中引用了它。我通过 MoMA 分析仪运行了组件,它说没问题,但显然不是。我知道查找错误的唯一地方是 Apple 系统日志 (ASL),它没有告诉我是哪个依赖项导致了问题。有更好的地方看吗?
-
谢谢,Uwe。请参阅下面的解决方案。比我想象的要基本得多。