mar*_*mnl 10 c# monogame windows-8 .net-4.5 visual-studio-2012
在Visual Studio 2012中一个空白的新类库我试图添加对解决方案中现有项目的引用,也是一个类库,MonoGame.Framework.Windows8(https://github.com/mono/MonoGame),但是得到错误:
无法添加对Project MonoGame.Framework.Windows8的引用
我已成功构建了现有的库MonoGame,并使其成为新库的依赖项.可能是什么问题呢?
(这是非常烦人的错误消息没有给出理由!)
mar*_*mnl 11
试图添加内置的dll有一个引用给出了一个更明确的错误信息,它解决了我的问题,它说:
"无法添加对'x'的引用.该项目的目标是".NetFramework",而文件引用的目标是".NetCore".这不是受支持的方案"
MonoGame类库是类库(Windows应用商店应用)类型!(括号中的位很重要!可能不同之处在于Windows Store应用程序类型使用的.Net Core与.Net Framework不同).
因此,要使其正常运行,您的项目必须是类库(Windows应用商店应用),可在"添加新项目"中的"Windows应用商店"选项下使用.
我怀疑问题与项目选项中的"目标框架"有关.
我不知道MonoGame如何适用于Windows 8,但是当您为Android开发时,目标框架选项是不同版本的Android [例如Android 2.2(Froyo)].当您创建常规类库时,您可以在不同版本的.NET框架或Mono [例如Mono/.NET 4.0]之间进行选择.
不幸的是,这些框架彼此不兼容.您不能将Android的项目引用添加到.NET框架类库,反之亦然.
解决方案是使用可移植类库.它们专门用于解决此问题.缺点是您只能访问您选择定位的最低分母中提供的装配子集.
您可能还想考虑使用链接文件的项目之间的代码共享.它可以使维护变得有点棘手,但是您可以更好地控制应该在两个目标框架中编译但不适合可移植类库的代码.这是一个相关的问题:
一旦您了解了这里发生的事情,所有这一切的关键在于您如何构建解决方案.稍加注意,几乎所有代码都可以在不同平台上共享.
| 归档时间: |
|
| 查看次数: |
13342 次 |
| 最近记录: |