【发布时间】:2012-11-28 22:01:25
【问题描述】:
我正在使用 Visual Studio 2010 Pro 构建一个包含两个项目的解决方案。项目A包含了我的大部分源代码,而项目B打算独立运行,但必须使用项目A中包含的一些源代码。
在当前配置下,项目 A 包含在项目 B 中作为参考。我希望能够独立构建和维护每个项目的版本,但似乎在构建整个解决方案时,ProjectB.exe如果没有 ProjectA.exe 在同一本地目录中,则无法运行。我认为并希望在编译 .exe 二进制文件时,它们的所有依赖项都打包在每个文件中,但情况似乎并非如此。事实上,任何在 ProjectA.exe 不存在时运行 ProjectB.exe 的尝试都会导致 System.IO.FileNotFoundException。
有没有办法构建一个独立运行并避免代码重复的版本ProjectB.exe?
【问题讨论】:
-
创建另一个项目(假设是 ProjectC),将其编译为库 (DLL) 并将所有共享代码放在那里。 ProjectA 和 ProjectB 都会引用它(因此您将部署 ProjectA+ProjectC 和 ProjectB+ProjectC)。没有重复。您甚至可以在两个项目之间共享相同的源文件,但嘿……这是一个肮脏无用的“把戏”。
-
根据您的定义,B 依赖于 A。它必须引用 A,因为 A 是在同一解决方案中编译的,或者是 A.DLL,但不是同一解决方案的一部分解决方案。你到底在问什么?
-
感谢大家的帮助——尤其是阿德里亚诺。它现在就像一个魅力。
标签: c# visual-studio-2010 .net-4.0