无法为LINQ IQueryable Toolkit(IQToolkit)构建测试项目 - 代码9009

时间:2011-02-14 02:58:58

标签: visual-studio linq visual-studio-2008 build iqueryable

我正在尝试使用Visual Studio 2008为LINQ IQueryable Toolkit构建测试项目,但它没有构建,因为它以“退出代码9009”退出。

来源位于:http://iqtoolkit.codeplex.com/releases/view/40005

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

我使用Visual Studio 2010构建它,并收到错误消息,指出我缺少System.Data.SQLiteMySql.Data.MySqlClient命名空间。因此,我首先要确保您的计算机上有这些DLL,并且已将相应的引用添加到项目中。


完整的错误消息为:

  

命令   “C:\用户\罗伯特\下载\ IQToolkit   v0.17b \来源\测试\ CopyProviders.cmd   斌\调试\   C:\用户\罗伯特\下载\ IQToolkit   v0.17b \ Source \ Test \“退出代码   9009。

文件夹CopyProviders.cmd中的文件C:\Users\Robert\Downloads\IQToolkit v0.17b\Source\Test\ 包含以下内容:

erase %2%1IQToolkit.Data.*.dll
CALL %2CopyProvider.cmd Access %1 %2
CALL %2CopyProvider.cmd SqlClient %1 %2
CALL %2CopyProvider.cmd SqlServerCe %1 %2
CALL %2CopyProvider.cmd MySqlClient %1 %2
CALL %2CopyProvider.cmd SQLite %1 %2 

CopyProvider.cmd文件包含以下内容:

if exist %3..\IQToolkit.Data.%1\%2IQToolkit.Data.%1.dll xcopy /C /Y %3..\IQToolkit.Data.%1\%2IQToolkit.Data.%1.dll %3%2

这一切都来自Pre-build event command line,可以在Build Events项目的Properties对话框的Test部分找到。内容如下:

$(ProjectDir)CopyProviders.cmd $(OutDir) $(ProjectDir)

要使项目构建,您只需从“属性”对话框中删除该行,项目就可以正常构建。

很明显,在构建过程中会发生一些文件复制,而且这个文件复制与IQToolkit的测试过程有关。似乎IQToolkit输出DLL被复制到每个提供程序子目录。如果要运行测试套件,可以手动执行此文件复制。

无论如何,它似乎确实是一个小错误。我会让IQToolkit的人知道它。

答案 1 :(得分:1)

只需将活动更改为:

"$(ProjectDir)CopyProviders.cmd" "$(OutDir)" "$(ProjectDir)"

这可以解决这个问题。