C# 代码域引用添加正确,dll文件不正确

C# 代码域引用添加正确,dll文件不正确,c#,reference,codedom,C#,Reference,Codedom,这让我在这一点上付出了一天的努力。在visual studio中,我可以添加对自定义.dll文件的引用。添加引用后,我可以调用.dll文件: someClass_inDll sc = new someClass_inDll(); sc.someVoid_in_dll(); 很简单,对吧?无需进行程序集使用、调用等操作。我希望能够使用CodeDom做同样的事情!因此,假设我有一个自定义的.dll文件(已经创建并在我的硬盘上),我已经将该dll文件的完整路径添加到codedom引用列表中。但是,实

这让我在这一点上付出了一天的努力。在visual studio中,我可以添加对自定义.dll文件的引用。添加引用后,我可以调用.dll文件:

someClass_inDll sc = new someClass_inDll();
sc.someVoid_in_dll();
很简单,对吧?无需进行程序集使用、调用等操作。我希望能够使用CodeDom做同样的事情!因此,假设我有一个自定义的.dll文件(已经创建并在我的硬盘上),我已经将该dll文件的完整路径添加到codedom引用列表中。但是,实际的.dll文件并没有在我的项目中编译(就像在VisualStudio中一样)

有人能告诉我这是为什么吗?这对我来说毫无意义

我不想将.dll文件添加为嵌入式资源,因为调用dll文件中函数的唯一方法是调用它,出于个人原因,我不想这样做

我真的很感谢大家的帮助

谢谢,
埃文

我不确定我是否理解你的要求,但现在

Visual Studio正在将编译后在.proj文件中设置为“复制本地”的所有引用复制到输出目录中。编译器本身与依赖项的部署无关,这就是msbuild的作用


因此,当您添加对提供程序的编译器参数的引用时,它将使用该引用来生成可执行文件,但您必须自己复制它。

您是说使用codedom代码提供程序的项目本身不是visual studio项目吗?否,我的意思是,通过CodeDom生成的可执行文件似乎没有内置.dll(从而导致dll文件无法使用)。好的,在CodeDom中,我添加了对我想要使用的dll文件完整路径的引用。然后,一旦使用适当的引用编译了可执行文件,我就应该将dll从其完整路径复制到已编译CodeDom可执行文件的路径?对,它们需要在同一个目录中。是否有任何方法可以避免这种情况?将引用的DLL位置添加到系统路径或使用GAC。我听说过GAC,但从未有过这样的运气。“将dll位置添加到系统路径”的确切含义是什么?由于某些原因,我没有太多的运气通过SE找到这些东西。