![](/img/trans.png)
[英]Trying to link C++ library with C# using swig - will not let me add reference to resulging dll to C# project
[英]Trying to create a solution with a monogame project and a class library, and it won't let me add a reference between them
不久前我用XNA编写了一个游戏,它只有两个项目-一个游戏和一个库。 它工作正常,现在我将其移植到Monogame。
我创建了一个MonoGame游戏项目和一个类库,并将旧XNA项目中的所有文件放入其中。 类库的构建没有问题或错误。 但是,它不允许我在其他(游戏)项目中添加对它的引用。
它只是说“无法添加对[MyLibrary]的引用”
我读到有关它的内容可能是因为它们针对的是不同的框架-一个针对.net,另一个针对“ .net CORE”,但我不知道是否是这种情况,或者如何解决。
谁能建议我该怎么做?
您可能对框架定位问题是正确的。
有几种解决方法,第一种是尝试将您的库更改为可移植类库。 它们旨在能够针对不同的框架,包括MonoGame支持的不同框架。 http://msdn.microsoft.com/en-au/library/gg597391.aspx
可移植类库的缺点是它们仅支持完整.NET框架的子集。 如果是这种情况,您将尝试将您的库更改为Mono for Android Library项目(或您要定位的任何框架)。
如果您要针对多个目标框架进行构建,并且需要在每个项目中减少重复代码的数量,那么我认为最好的选择是将文件作为“链接”添加到每个项目。 它增加了一些维护,但允许您在一个项目中编辑文件并在所有项目中进行更改。
如果您是我,我既会因为@craftworkgames指定的原因而避免了可移植类库,又因为我自己开发Windows 8 App的经验而避免了它们-但这只会引起您的麻烦。 从设计原则上讲,将您的类分成自己的库是有好处的,但我只是将它们全部添加到您的开发项目中(除非您正在编写一个您希望全世界都可以使用的API?)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.