C#使用其他代码
我从这里下载了一个C#interval树集合类类http://intervaltree.codeplex.com/SourceControl/list/changesets – >右侧 – >下载。
但是我无法在我的Microsoft Visual C#2010 Express(也运行C#XNA)上打开整个项目,因为
此版本的应用程序不支持解决方案文件夹
另外,我只想在我自己的seprate项目中单独使用该类。
我试图将三个重要的看似文件Interval.cs
, IntervalNode.cs
和IntervalTree.cs
复制到我的项目中,但这会产生编译错误
没有导入器可以处理此文件类型
我还试图将这三个文件的内容复制并粘贴到我的项目中,将它们封装到自己的命名空间中,并且有很多代码。 我不得不稍微重新安排一些使用,但遇到了问题,可能它想要using Wintellect.PowerCollections;
PowerCollections .dll和.pcb文件using Wintellect.PowerCollections;
原因
找不到类型或命名空间名称’Wintellect’(您是否缺少using指令或程序集引用?)
我不知道如何继续,或者如果我正在做正确的事情,如何让这个class级工作。
将库添加到您的解决方案中
将IntervalTreeLib目录复制到解决方案目录中。 然后,右键单击您的解决方案,并添加现有项目。 将其指向IntervalTreeLib.csproj
中的IntervalTreeLib.csproj,然后单击“打开”。 这应该将IntervalTreeLib项目添加到您的解决方案中。
在项目中添加对库的引用
然后,在项目中添加对IntervalTreeLib项目的引用: – 右键单击References文件夹,然后单击Add Reference。 单击Projects选项卡,然后选择IntervalTreeLib。
使用代码中的类
要在源代码中使用库中的类,您需要添加:
using IntervalTreeLib; void Foo() { IntervalTree tree = new ... }
或者,用他们的全名来引用它们:
IntervalTreeLib.IntervalTree tree = new ...
如果您希望能够完整地打开项目( 或者在当前解决方案中添加现有项目(您可以右键单击解决方案)并选择IntervalTreeLib.csproj
), 请打开IntervalTreeLib.csproj
。 如果您只想获取项目中的代码文件,请确保您还获取PowerCollections.dll
文件(我看到它与代码文件位于同一文件夹中),否则您的代码将无法编译(如您所发现的那样)。 您需要添加对它的引用,并在使用此库的代码文件的顶部包含所需的using语句(或使用命名空间的完全限定名称)。
using IntervalTreeLib;
要么
var myObj = new IntervalTreeLib.[WhateverClass](...);
另外,请确保阅读license.txt文件 。 如果您使用代码,则可能需要包含它。 给予应有的信用。
更新:
如果测试项目导致您出现问题,只需打开库项目即可。 理想情况下,您可以打开并编译它,将直接生成的输出DLL文件添加到您的解决方案中。 除非您计划更改库源代码本身,否则这是理想的。
由于讨论了您能够构建Intervallib.dll,我们将讨论您应该如何在项目中使用dll。
现在在您的项目中,右键单击引用部分并将dll intervallib.dll添加到您的引用。 在你的game.cs文件中, using IntervalTreeLib;
作为命名空间的引用using IntervalTreeLib;
那么你实际上应该将dll powercollections.dll复制到proj目录的bin目录中。
你应该复制这个DLL,因为在IntervalTreeLib.dll中使用了dll的间接链接
按照这些步骤,我能够执行这个项目。