Getting MSBuild and CruiseControl .NET to build an

2020-07-10 03:05发布

I almost have a NAnt script together that will build and deploy VS2010 database projects, but one error stands in my way:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.TSqlTasks.targets(56,5): error MSB4062: The "SqlBuildTask" task could not be loaded from the assembly Microsoft.Data.Schema.Tasks.Sql, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a. Could not load file or assembly 'Microsoft.Data.Schema.Tasks.Sql, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. [xxx]
Failed to start MSBuild.
External Program Failed: C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\msbuild.exe (return code was 1)

I can see that the Microsoft.Data.Schema assemblies are not in the MSIL GAC on the build server - is there any clean way to do this without a full-freight installation of VS2010 on the build server?

1条回答
爷、活的狠高调
2楼-- · 2020-07-10 03:44

For the curious, I asked Barclay Hill at Microsoft who answered this for me:

You can’t build database projects on machines unless they have VS or TFS 2010 installed on them. It is not a supported scenario. You can deploy database project build outputs without VS/TFS installed using vsdbcmd. The only way to do this and be in line with the licensing and support is to install a local copy of VS Pro or higher on your build box if not using TFS.

查看更多
登录 后发表回答