2012-03-12 122 views
1

我有多个项目的解决方案。VS 2010构建问题:参考问题

很少有常见的Bin/Lib/Include文件夹,例如在Lib文件全部出口lib中,可执行在Bin文件夹和报头中包含的

解 - S 项目A1 - DLL 项目A2 - 埃克 ... 项目的

项目A2依赖于Proj A1

我已经构建完整的解决方案并删除了除SDK(Bin \ lib \ Include)之外的所有文件夹。因为它的大的解决方案,所以我们利用这个出口SDK和构建任何应用程序

我现在已经采取了完整的代码(A1,A2,... AN)和只开了项目A2,

但是,当我建立它给我以下错误 无法打开输入文件'C:\代码\ Development \ Src \ A2 \ Debug7 \ A1.lib'

为什么它不从普通的lib文件夹中拾取库。

它在VS 2008中工作正常,但在升级到2010之后,它从未工作过。

+0

A2对A1有什么样的依赖关系?它需要是@(ProjectReference),而不是程序集@(参考)。 – 2012-03-12 15:27:30

+0

什么都存在于VS 2008中,升级后我们面临这个问题。所以看起来像我需要将项目移除到项目依赖项,并在解决方案中添加依赖项。这也是本机应用程序代码。 – Kasma 2012-03-13 09:52:42

回答

1

我的猜测是你可能在你的A2项目的引用文件夹中仍然有A1的代码版本。在任何情况下都需要检查。

+0

我已经删除了一切,并采取了最新的代码和SDK(Bin \ Lib \ Include),还有一件事我想分享,如果我从驱动器删除A1项目。它成功建成。 – Kasma 2012-03-12 13:07:56

1

我只能猜测依赖关系保存在解决方案文件中,所以如果只打开一个项目而不是原始解决方案,那么这些信息就会丢失。

'C:\代码\开发的\ src \ A2 \ Debug7 \ A2.lib'

问:为什么项目A2试图打开自己的库文件?当然,lib文件是输出(静态库或其他模块使用的导入库)。

您可能会发现,将A2项目的附加库目录(项目属性的链接器部分)设置为指向正确的路径将有所帮助 - 告诉它它可以在哪里找到它所需的库。

+0

A2.lib是拼写错误,更正了 现在使用VS 2010设计项目到项目依赖关系。解决方案依赖不被MS构建使用 http://blogs.msdn.com/b/vcblog/archive/2010/02/16/project-settings-changes-with-vs2010.aspx – Kasma 2012-03-12 13:13:27