2010-04-06 18 views
0

我有一个在.NET和.NET CF上运行的项目。但它使用不会同时运行的第三方库 。所以我最终在每次项目建成时都改变参考。在构建时交换引用VS

项目A - 引用第三方DLL。

项目B - 参考A和运行.NET CF

项目C - 参考A和运行.NET

有没有办法自动呢?

这里是到第三方库的链接:http://dotnetzip.codeplex.com/Wikipage

+0

你是什么意思说'不会同时运行'? – abatishchev 2010-04-06 21:46:48

+0

第三方库有两个版本。一个用于.NET,一个用于.NET CF.如果我用错误的参考来建立这个项目,那么赶快往南走。 – NitroxDM 2010-04-06 21:58:04

回答

1

您可以在解决方案中设置两个构建配置 - 一个用于.Net,一个用于.Net CF - 并使用条件引用来切换引用哪个版本的库。

.Net.Net CF设置两个新的构建配置(与调试和发布配置即Build - > Configuration Manager相同)。将.Net和.Net CF第三方dll添加为项目A的引用。然后,您需要手动编辑项目A的项目文件 - 请参阅我的previous answer了解如何执行此操作。确保您将项目B设置为不构建.Net构建配置,项目C不构建.Net CF构建配置。

这使您可以根据当前选定的构建配置构建.Net输出或.Net CF输出,所有内部解决方案均使用相同的项目。

1

你可以做独立的解决方案,并设置构建配置适当为每个。但是,从那时起,您将不得不手动维护这两种解决方案。

+0

是的,这是我想避免的。 – NitroxDM 2010-04-06 22:00:38

+0

但是,我可以创建一个接口,然后有两个实现。这将最大限度地减少维护两个项目... – NitroxDM 2010-04-06 22:05:07

+0

根据http://social.msdn.microsoft.com/Forums/en/vsx/thread/f032a9b7-50d5-4459-bd2f-5bfe2d6022c2,我们不能期望这从MS,但可能会有第三方工具。 – Alex 2010-04-06 22:28:06