2011-10-27 178 views
2

我有一个Visual Studio .Net解决方案,它有很多项目/库。Visual Studio项目依赖关系

当我在自己的PC上本地工作时,没有问题,因为我倾向于重新编译刚更改过的所有库,并且所有内容都同步。

问题是,有时候其他开发人员偶尔会需要处理或查看我的代码,但重新编译所有内容都会遇到大问题。

在配置管理器中,我没有检查所有项目,否则建立一切工作都会花费太长时间。

问题是解决方案在另一个应用程序上编译时,报告中的某些错误表示某个特定的库存在错误,并且需要很长时间才能找出所有编译每个错误的依赖项。

即使检查配置管理器中的所有内容,它仍然看起来不能正确编译。

我认为当你添加一个对库的引用时,依赖被照顾。

是否有一种简单的方法来确保解决方案确定哪些是正确的依赖关系,并确保所有内容都按正确的顺序构建?

谢谢

回答

2

其他开发人员从您那里获得新的源代码后,应关闭Visual Studio并重新打开解决方案。

有时在Visual Studio中也存在依赖关系的问题。首先,尝试下列菜单命令:

Build > Clean Solution 
Build > Rebuild Solution 

这将显示哪些依赖关系是循环的还是不正确的。 此外,在Visual Studio项目不得依赖另一个创建可执行文件(至少对于我们纯粹的C++写的项目,这是真的)。即编译为“Utils.dll”的“Utils”项目不能依赖于“MyApp”项目,该项目导出一些函数或符号并编译为两个 MyApp.exe和MyApp.lib(或某种其他类型的程序集)。如果您有这样的依赖关系,您必须正确设置项目构建顺序并手动将MyApp.lib设置为链接器输入。

1

您可以通过包装和使用http://nuget.codeplex.com/分发您的组件。它是为了解决这个问题。

+0

我的应用程序是一个wpf应用程序。它可以用于任何项目类型吗? – TheWommies

+0

它不是用于分发应用程序,而仅仅是库。你有没有看过入门网页? http://nuget.codeplex.com/documentation?title=Getting%20Started – Jason

+1

感谢您的看法,这似乎是一个方便的工具,但出于某种原因,我的解决方案无法以正确的顺序编译(我自己的库,而不是第三方),项目依赖似乎是正确的,所以不知道什么是错的。花费这么长时间才能确定在不同PC上构建的顺序 – TheWommies