【发布时间】:2009-02-18 10:05:29
【问题描述】:
我正在使用 Visual Studio 2005、.NET 2.0
我还不确定在什么情况下会发生这种情况,但情况如下: 我有一个项目结构如下的解决方案:一个库项目 Foo,一个引用 Foo 的库项目 Bar,以及一个引用 Foo 和 Bar 的库项目 Quux。
编译失败并出现错误消息“无法找到元数据文件 'Foo.dll'”,来自 Bar,“找不到元数据文件 'Foo.dll'”和“无法找到元数据文件 'Bar.dll'来自 Quux。
查看我的目标目录(我有一个包含所有 3 个项目的组合目标目录),它是空的,所以根本没有编译任何项目。现在,如果 Foo 没有输出,我可以让 Bar 和 Quux 失败。问题是:为什么 Foo 静默失败?它没有错误,只构建 Foo 而不是整个解决方案就可以正常工作。
“有趣”的是,再次按下构建按钮后,出现 Foo.dll 文件,Bar 不再抱怨但也不产生任何输出文件,Quux 抱怨缺少 Bar.dll。再次按下按钮,出现 Bar.dll,没有更多错误但没有 Quux.dll。再次按下按钮后,Quux.dll 再次出现,没有错误。
项目依赖项都设置正确,解决方案构建顺序完全正确。
我什至尝试过创建一个新的解决方案和新的项目文件,然后再次将源添加到这些文件中。也没有欢乐。同样的事情也会发生。
我完全被难住了。有谁知道摆脱这种混乱的方法吗?
【问题讨论】:
-
我仍然建议您获得 Visual Studio 2008 并以 2.0 开发为目标,尽管人们对我的回答持臭名昭著的立场。 VS2005 有错误 VS2008 没有。很可能只需重新安装即可解决此问题。
标签: c# .net visual-studio-2005 build-process