C# Visual Studio 2012“如何调试”;无法添加对项目x的引用";错误?

C# Visual Studio 2012“如何调试”;无法添加对项目x的引用";错误?,c#,windows-8,visual-studio-2012,.net-4.5,monogame,C#,Windows 8,Visual Studio 2012,.net 4.5,Monogame,在Visual Studio 2012中,在一个空白的新类库中,我试图添加对解决方案中现有项目的引用,也是一个类库,MonoGame.Framework.Windows8(),但出现错误: 无法添加对Project MonoGame.Framework.Windows8的引用 我已经成功地构建了现有的库MonoGame,并使其成为新库的依赖项。有什么问题吗 (错误信息没有给出原因,这非常烦人!)同样的问题,我想在这里: 答案是: 您要添加对什么的引用?Metro样式的应用程序只能添加对其他Me

在Visual Studio 2012中,在一个空白的新类库中,我试图添加对解决方案中现有项目的引用,也是一个类库,MonoGame.Framework.Windows8(),但出现错误:

无法添加对Project MonoGame.Framework.Windows8的引用

我已经成功地构建了现有的库MonoGame,并使其成为新库的依赖项。有什么问题吗


(错误信息没有给出原因,这非常烦人!)

同样的问题,我想在这里:

答案是:

您要添加对什么的引用?Metro样式的应用程序只能添加对其他Metro样式类库或可移植类库的引用


我怀疑问题与项目选项中的“目标框架”有关

我不知道MonoGame在Windows 8上是如何工作的,但当你在为Android开发时,目标框架选项是Android的不同版本[例如Android 2.2(Froyo)]。创建常规类库时,您可以在.NET framework或Mono的不同版本之间进行选择[例如Mono/.NET 4.0]

不幸的是,这些框架彼此不兼容。不能将Android的项目引用添加到.NET framework类库,反之亦然

解决办法是使用一个新的方法。它们是专门为处理这一问题而设计的。缺点是,您只能访问以您选择的目标最低分母提供的程序集子集

您可能还想考虑使用链接文件的项目之间的代码共享。它可以使维护变得更加棘手,但可以让您对应该在两个目标框架中编译但不适合移植类库的代码有更多的控制。这里有一个相关的问题:


一旦您了解了这里发生的事情,所有这些的关键就是如何构建您的解决方案。只要稍微小心,您几乎可以在不同的平台上共享所有代码。

尝试添加构建的dll时,引用给出了一条更明确的错误消息,该消息为我解决了问题,它说:

“无法添加对“x”的引用。项目以“.NetFramework”为目标,而文件引用以“.NetCore”为目标。这是不受支持的方案”

MonoGame类库是一个类库(Windows应用商店应用程序)类型!(括号中的位很重要!可能区别在于Windows应用商店应用程序类型使用.Net Core,这与.Net Framework不同)


因此,要使其正常工作,您的项目必须是一个类库(Windows应用商店应用程序),该类库在“添加新项目”的“Windows应用商店”选项下可用。

我可能是因为两个项目使用不同的框架版本,并在“属性”部分的两个项目中更改框架版本,然后您的问题可能会得到解决

您可以尝试使用msbuild(从Visual Studio命令提示符)。我不熟悉msbuild-可能我必须先手动编辑.csproj文件以添加对另一个项目的引用?对此我非常恼火。它藏得很隐蔽!谢谢