Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MSBuild ExecuteDDL在.NET Framework 4.0中失败_.net_Msbuild_Msbuild Task - Fatal编程技术网

MSBuild ExecuteDDL在.NET Framework 4.0中失败

MSBuild ExecuteDDL在.NET Framework 4.0中失败,.net,msbuild,msbuild-task,.net,Msbuild,Msbuild Task,我已将项目从.NET 3.5迁移到4.0,因此我使用的是C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319的MSBuild.exe,而不是C:\WINDOWS\Microsoft.NET\Framework\v3.5。这导致执行的任务失败。请帮忙。 干杯 Nabin无法加载文件或程序集“Microsoft.SqlServer.ConnectionInfo,版本=9.0.242.0” 看起来它正在查找SQL Server 2005客户端工具,是否已安装这些工

我已将项目从.NET 3.5迁移到4.0,因此我使用的是C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319的MSBuild.exe,而不是C:\WINDOWS\Microsoft.NET\Framework\v3.5。这导致执行的任务失败。请帮忙。 干杯 Nabin无法加载文件或程序集“Microsoft.SqlServer.ConnectionInfo,版本=9.0.242.0”


看起来它正在查找SQL Server 2005客户端工具,是否已安装这些工具?

来自MSBuild社区任务的ExecuteDDL任务使用Microsoft.SqlServer.ConnectionInfo程序集。程序集是动态加载的,它尝试按以下顺序加载以下程序集:

  • Microsoft.SqlServer.ConnectionInfo,版本=10.0.0.0,区域性=中性,PublicKeyToken=89845dcd8080cc91
  • Microsoft.SqlServer.ConnectionInfo,版本=9.0.242.0,区域性=中性,PublicKeyToken=89845DCD80CC91
因此,它尝试加载10.0(SQLServer2008),然后加载9.0(SQLServer2005)。如果找不到这两个选项中的任何一个,它将失败,并显示您收到的异常

默认情况下,SQLServer会将这些文件放在GAC中,因此请先检查这些文件是否在您的计算机上。如果这不能解决你的问题,请告诉我。我写了这个任务,我会从你那里得到更多的信息,让它工作起来

更新

Sql Server 2008支持直到2009年3月才添加,不幸的是,官方版本比这更旧。抓住夜间构建,从中修复了很多错误:


当然,这些信息已经足够了。不例外情况?内部异常?事件日志?生成日志?执行的DL任务意外失败。System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.SqlServer.ConnectionInfo,Version=9.0.242.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91”或其依赖项之一。系统找不到指定的文件。文件名:System.Reflection.RuntimeAssembly上的“Microsoft.SqlServer.ConnectionInfo,Version=9.0.242.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91”(AssemblyName文件名、字符串代码库、证据assemblySecurity、RuntimeAssembly locationHint、StackScrawMark&;GAC的版本为10.0.0.0,但它没有9.0.242.0。但是,Framework 3.5的MSBuild工作正常,而Framework 4.0的MSBuild引发异常。我确认此任务在MSBuild 4.0下工作正常。请重试。)获取最新版本。我更新了上面的答案。我可以确认获取最新的夜间版本,而不是修复问题。默认情况下,您自然会选择的最新版本非常旧!