9

我从这里下载了一个 C# 区间树集合类类http://intervaltree.codeplex.com/SourceControl/list/changesets -> 右手边 -> 下载。

但是我无法在我的 Microsoft Visual C# 2010 Express(也运行 C# XNA)上打开整个项目,因为

此版本的应用程序不支持解决方案文件夹

另外我只是希望该类在我自己的单独项目中单独使用。

我试图将三个重要的看似文件复制到我的项目Interval.cs中,但这会产生编译错误IntervalNode.csIntervalTree.cs

没有处理这种文件类型的进口商

我还尝试将这三个文件的内容复制并粘贴到我的项目中,将它们封装到自己的命名空间以及大量代码中。我不得不重新安排一些使用,但遇到了可能需要 PowerCollections .dll 和 .pcb 文件作为using Wintellect.PowerCollections;原因的问题

找不到类型或命名空间名称“Wintellect”(您是否缺少 using 指令或程序集引用?)

我不确定如何继续,或者我是否在做正确的事情来让这门课正常工作。

4

4 回答 4

13

将库添加到您的解决方案

将 IntervalTreeLib 目录复制到您的解决方案目录中。然后,右键单击您的解决方案,并添加现有项目。将其指向IntervalTreeLib.csprojIntervalTreeLib,然后单击 Open。这应该将 IntervalTreeLib 项目添加到您的解决方案中。

添加现有项目截图

项目中添加对库的引用

然后,在您的项目中,添加对 IntervalTreeLib 项目的引用: - 右键单击​​ References 文件夹,然后添加引用。单击项目选项卡,然后选择 IntervalTreeLib。

添加参考截图

选择项目参考截图

使用代码中的类

然后,要在源代码中使用库中的类,您需要添加:

using IntervalTreeLib;

void Foo() {
    IntervalTree<int, int> tree = new ...
}

或者,用他们的全名来称呼他们:

IntervalTreeLib.IntervalTree<int, int> tree = new ...
于 2012-01-08T15:27:47.793 回答
4

IntervalTreeLib.csproj如果您希望能够完整地打开项目,请打开文件(或在当前解决方案中添加现有项目(您可以右键单击解决方案)并选择IntervalTreeLib.csproj)。如果您尝试仅获取项目中的代码文件,请确保您也获取该PowerCollections.dll文件(我看到它与代码文件位于同一文件夹中),否则您的代码将无法编译(正如您所发现的那样)。您需要添加对它的引用,并在使用此库的代码文件顶部包含所需的 using 语句(或使用名称空间的完全限定名称)。

using IntervalTreeLib;

或者

var myObj = new IntervalTreeLib.[WhateverClass](...);

另外,请确保您阅读 license.txt 文件。如果您使用代码,则可能需要包含它。在应得的地方给予信用。

更新:

如果测试项目给您带来问题,只需打开库项目。理想情况下,您可以打开并编译它,将直接生成的输出 DLL 文件添加到您的解决方案中。除非您计划更改库源代码本身,否则这是理想的。

于 2012-01-08T15:30:21.910 回答
3

将库添加到要使用它的项目的引用中。

在此处输入图像描述

于 2020-04-29T12:01:39.670 回答
0

由于讨论了您能够构建 Intervallib.dll,我们将讨论您应该如何在项目中使用 dll。

现在在您的项目中,右键单击引用部分并将 dll intervallib.dll 添加到您的引用中。在您的 game.cs 文件中,对命名空间的引用为 --using IntervalTreeLib;

那么您实际上也应该将 dll powercollections.dll 复制到 proj 目录的 bin 目录中。

您应该复制此 dll,因为在 IntervalTreeLib.dll 中使用了该 dll 的间接链接

按照这些步骤,我能够执行这个项目。

于 2012-01-08T16:12:11.900 回答