Visual Studio中等价于Delphi的“搜索路径”。
Visual Studio中等价于Delphi的“搜索路径”。
我已经在一个.cs文件中定义了一个C#类,并在现有项目中使用它。我们将其称为Magic类,定义在Magic.cs中。现在我正在开发一个新项目,并且想在新项目中实例化该类的一个实例。如何在不将文件复制到新项目目录中的情况下引用该类呢?在Delphi中,答案是“将类定义的位置添加到搜索路径中”。这是一个非常愚蠢的问题,但我无法在任何地方找到一个好的答案。
我尝试过以下方法:
1 - 项目->属性->引用路径->添加类的位置(对类的引用仍然无法解析)
2 - 右键单击项目->“添加现有项”->选择该类(在我的项目文件夹中创建一个新的独立副本)
3 - 右键单击项目->“添加引用”->发现它需要一个编译后的目标,如DLL。
参见:
- 如何在Visual Studio中的项目/解决方案之间共享代码?
- Visual Studio和源代码控制:如何共享代码?
Delphi的“搜索路径”在Visual Studio中的等效方式是什么?
在Delphi中,可以通过设置“搜索路径”来指定编译器在编译项目时搜索源代码文件的位置。然而,在Visual Studio中,没有直接的等效功能来实现这一点。可能是因为Visual Studio更喜欢将相关文件组织在同一个项目或解决方案中,而不是在编译时搜索文件。
如果想要在Visual Studio中使用之前的类文件,有以下两种选择:
选项一:将现有的.cs文件复制到项目目录中。可以通过右键点击项目,选择“添加现有项”,然后选择类文件来实现。
选项二:将项目添加到解决方案中。可以通过右键点击解决方案,选择“添加”>“添加现有项目”,然后从文件浏览器中选择项目文件。然后再添加类文件的引用,可以通过右键点击项目,选择“添加引用”,在项目选项卡中选择您的项目。这样会自动创建对.dll文件的引用。
选项三:将类编译为.dll文件,然后在项目中添加对它的引用。
然而,选项二和选项三存在一些问题。一是不是所有开发人员都将.dll文件放在相同的路径下,二是我必须将可执行文件和单独的二进制文件一起发布。
在这种情况下,我选择了选项三。感谢您的建议。
在Delphi项目中出现混乱的链接文件?呵呵,从来没有发生过。我选择了选项三。感谢您的建议。
问题在于选项二和选项三存在以下问题:a)并非所有开发人员都将.dll文件放在相同的路径下,b)我必须将单独的二进制文件与可执行文件一起发布。
在Delphi中,有一个名为“搜索路径”的功能,它允许用户在编译项目时指定编译器要搜索的文件路径。这个功能在编写和组织代码时非常有用,因为它允许用户将不同的代码模块放在不同的文件夹中,并在编译时告诉编译器去哪里查找这些文件。
然而,在Visual Studio中,没有直接等效的功能。因此,当开发人员从Delphi转向Visual Studio时,他们可能会遇到一些问题,并且需要找到一种替代方案来实现类似的功能。
解决方法之一是创建一个类库,并将代码构建到该类库中。然后,可以从项目中引用该构建的类库,以便在不复制代码的情况下共享类。另一种方法是将类库项目添加到解决方案中,并在开发过程中引用该项目。类库项目的工作方式与以前使用的BPL(包含可重用二进制代码的包)非常相似。
一旦有了类库,就可以在不同的解决方案之间共享该类库。这可以通过构建类库并共享二进制文件的方式完成,也可以通过在解决方案中包含类库项目的方式完成。刚开始时,最好选择后一种方法,直到熟悉后再使用预先构建的二进制文件进行引用。
总之,虽然在从Delphi转向Visual Studio时可能会有一些学习曲线,但最终会发现这是一个更好的开发环境。通过使用类库和引用预先构建的二进制文件,可以更好地组织和共享代码,避免意外共享代码或遇到代码冲突的问题。
对于一些开发者来说,这种转变可能会感到困惑和不满。他们可能觉得在小项目中使用类库是一种过度设计的做法,并希望能够像在Delphi中一样简单地管理代码。然而,需要认识到C#和Delphi之间存在一些差异,它们都有自己的开发方式和最佳实践。尽管在某些方面需要做出一些适应和调整,但转向使用类库和预先构建的二进制文件的方法最终会带来更好的结果。
尽管在Visual Studio中没有直接等效于Delphi的“搜索路径”功能,但可以通过创建类库并引用它来实现类似的代码共享和组织。这种转变可能需要一些学习和调整,但最终会带来更好的开发体验和代码管理。