我在 Visual Studio 2010 中看到了一个奇怪的现象。
我的项目设置是这样的(我继承了这个 - 不能很快改变它,不幸的是:-():
一个使用 Crystal Reports X (v10) 作为其报告引擎的 Winforms 应用程序;我的开发盒上安装了完整的 CR X 开发者版
几个使用 Crystal Reports XI (v11) 作为报告引擎的 Webforms 应用程序 - 无法安装 CR XI 完整版,因为它与 CR X 开发版冲突....
为了在我们的构建服务器上运行,我还在Library
Winforms 应用程序的项目目录中创建了一个文件夹,其中包含我需要的 CR X 运行时文件,以及Library
Web 应用程序的项目目录中的一个文件夹,其中包含 CR XI 运行时文件。
在 VS 2008 中,我能够从我的 Winforms 项目(几个类库等)和我的 Web 应用程序中的相应库文件夹中选择必要的程序集。一切都很好。
当我更新到 Visual Studio 2010 时,我突然看到:
在我的 Winforms 应用程序中,所有对 CR X 运行时文件的引用都会自动更新以使用 GAC 中的 CR X 文件——这不是我想要的!如果我删除这些引用并通过浏览到
Library
文件夹再次重新添加它们并没有帮助 - 当我选择它们时,VS2010 似乎再次自动将它们转换为 GAC 引用......在我的 Web 应用程序中,情况变得更糟:当我从
Library
文件夹中选择 CR XI 运行时程序集时,VS2010 似乎再次自动检测到 GAC 中有类似的文件(同名但不同的版本)并使用这些文件代替 -现在我的网络应用程序不再工作了.....
VS 2010 在这里发生了什么?为什么它不能不理会我的选择,让我从Library
文件夹中选择我的运行时文件,而不是坚持去 GAC?VS 2008 和 VS 2010 在这方面有什么变化?有没有人对此有任何见解?