C# 使用另一个项目的dll的控制台应用程序项目的C代码

C# 使用另一个项目的dll的控制台应用程序项目的C代码,c#,visual-studio-2010,console-application,exe,dllimport,C#,Visual Studio 2010,Console Application,Exe,Dllimport,我正在使用VisualStudio进行此操作。我有一个测试项目,它生成一个dll,并在每次构建项目时运行不同的测试。现在我想编写一个控制台应用程序,它生成一个exe,该exe使用上面生成的dll。我可以用dllImport吗?如果是,请告诉我怎么做?您只需要: 将测试项目添加到相同的解决方案中, 从控制台应用程序添加对项目的引用。 现在,当您构建解决方案时,将首先构建库项目,其.dll将自动包含在控制台项目的bin目录中。这样做而不是只引用build.dll的优点是,您可以修改和调试库项目的源代

我正在使用VisualStudio进行此操作。我有一个测试项目,它生成一个dll,并在每次构建项目时运行不同的测试。现在我想编写一个控制台应用程序,它生成一个exe,该exe使用上面生成的dll。我可以用dllImport吗?如果是,请告诉我怎么做?

您只需要:

将测试项目添加到相同的解决方案中, 从控制台应用程序添加对项目的引用。 现在,当您构建解决方案时,将首先构建库项目,其.dll将自动包含在控制台项目的bin目录中。这样做而不是只引用build.dll的优点是,您可以修改和调试库项目的源代码,例如,单步执行它的方法

但是,您可以只执行第二步,而不是添加对项目的引用,浏览到build.dll并将其添加为引用。

您可以

将测试项目添加到相同的解决方案中, 从控制台应用程序添加对项目的引用。 或

将名为Tests的文件夹包括到控制台应用程序中。 添加其中生成的测试dll。 从控制台应用程序添加对项目的引用。 你可以:

在解决方案资源管理器中,在项目节点上单击鼠标右键,然后单击“添加引用”

在“添加参照”对话框中,选择指示要参照的零部件类型的选项卡

选择要参照的零部件,然后单击“确定”


所以基本上,如果我每次尝试构建解决方案时都添加dll作为引用,它会从测试项目中获取新生成的dll吗?另外,控制台应用程序中不需要任何代码,是吗?不,按照我说的,每次都会使用dll。控制台应用程序将使用dll-如果没有任何代码,那么拥有控制台应用程序有什么意义?你当然需要一个Main方法。我想做一个exe,它可以在远程机器上使用PSExec运行我的其他项目中的所有测试。没错!!这就是我要找的initially@user3152409提供是否将“复制本地”视为错误。无论如何,dll必须复制到exe的文件夹中。否则无法执行exe。除此之外,当您从其他项目编译dll并在另一个项目中引用该dll时,您可能会面临dll上的文件锁定。这将导致您重新编译,有时会重新启动项目。