1

我可能问错了这个问题(这可能是谷歌没有帮助的原因),但这里是:

在 Visual Studio 中,我正在编译一个 C# 项目(我们称之为项目 A,启动项目),它引用了项目 B。项目 B 引用了项目 C,所以当 A 被构建时,B 的 dll 被放置在 A 的 bin 目录下,C 的 dll 也是如此(因为 B 需要 C,A 需要 B)。但是,我最近显然做了一些更改,以便在重建解决方案时,项目 C 的 dll 不会进入项目 A 的 bin 目录。我不知道我做了什么来实现这一点。

我没有修改解决方案本身的设置,我只是添加了对项目文件的附加引用。代码方面,我已经注释掉了项目 B 中引用项目 C 中的类的大部分实际代码,但没有从项目本身中删除引用(我认为这不重要)。有人告诉我,也许 C# 编译器正在以某种方式进行优化,因此它没有构建 Project C,但我真的没有想法。我认为有人以前遇到过类似的事情

有什么想法吗?谢谢!

4

2 回答 2

1

您是否更改了构建配置?在 Visual Studio 2008 中,默认的解决方案配置是调试和发布,而默认的解决方案平台是任何 CPU。我的经验表明解决方案配置/平台对具有独特的构建配置。换句话说,Debug/Any CPURelease/Any CPU是两个独立的构建配置,每个都有自己的设置。如果您选择了不同的配置,原始配置的设置不会自动应用;您需要为所有配置以及添加到解决方案的任何新项目设置依赖关系,以便在它们之间无缝切换。

于 2009-03-12T00:31:37.193 回答
0

您可以在解决方案资源管理器中右键单击解决方案,然后检查您的项目依赖项。

我的猜测是,不知何故,您已标记 B 不依赖 C。

或者:在解决方案属性中,确保将当前配置设置为构建项目 C。

于 2009-03-11T23:48:04.160 回答