我可能会问这个问题是错的(这可能就是谷歌没有帮助的原因),但是这里有:
在Visual Studio中,我正在编译一个C#项目(我们称之为项目A,启动项目),它引用了项目B.项目B引用了项目C,所以当A构建时,dll为B放在A的bin目录中,C的dll也是如此(因为B需要C,A需要B)。但是,我最近显然做了一些更改,因此在重建解决方案时,Project C的dll不会进入Project A的bin目录。我不知道我为实现这一目标做了些什么。
我没有修改解决方案本身的设置,我只添加了对项目文件的其他引用。代码方面,我已经注释了项目B中引用项目C中的类的大多数实际代码,但没有从项目本身中删除引用(我认为这不重要)。有人告诉我,也许C#编译器在某种程度上进行了优化,因此它没有构建Project C,但实际上我没有想法。
之前,我认为有人遇到过类似的事情有什么想法?谢谢!
答案 0 :(得分:1)
您是否更改了构建配置?在Visual Studio 2008中,默认的解决方案配置是Debug和Release,而默认的Solution Platform是Any CPU。我的经验表明,解决方案配置/平台对具有独特的构建配置。换句话说, Debug / Any CPU 和 Release / Any CPU 是两个独立的构建配置,每个配置都有自己的设置。如果您选择了其他配置,则原始配置的设置不会自动应用;您需要为所有配置设置依赖关系,以及为解决方案添加的任何新项目,以便在它们之间进行无缝切换。
答案 1 :(得分:0)
您可以右键单击解决方案资源管理器中的解决方案,并检查项目依赖关系。
我的猜测是,不知怎的,你已经标记出B不依赖于C.
或者:在解决方案属性中,确保将当前配置设置为构建项目C.