Ошибка при сборке (компиляции) wixproj с использованием MSBuild api 15.9.20 - PullRequest
0 голосов
/ 18 декабря 2018

Я использую wix в проекте, и у меня есть особая потребность:

Сборка wixproj с использованием MSBuild из c #.

Для этого я использую MSBuild api в качестве следующего:

static void Main (string [] args) {string toolsPath = ToolLocationHelper.GetPathToBuildToolsFile ("msbuild.exe", ToolLocationHelper.CurrentToolsVersion);ProjectCollection projectCollection = new ProjectCollection ();projectCollection.AddToolset (новый набор инструментов (ToolLocationHelper.CurrentToolsVersion, Path.GetDirectoryName (toolsPath), projectCollection, string.Empty));Project project = projectCollection.LoadProject ("TestWix.wixproj");var result = project.Build (new ConsoleLogger ());Console.ReadKey ();}

И я получаю эту ошибку:

C: \ Program Files (x86) \ MSBuild \ Microsoft \ WiX \ v3.x \ wix2010.targets (1988,5): ошибка MSB4127:Не удалось создать задачу «GenerateCompileWithObjectPath» из сборки «C: \ Program Files (x86) \ WiX Toolset v3.11 \ bin \ WixTasks.dll».Убедитесь, что сборка задачи была собрана с использованием той же версии сборки Microsoft.Build.Framework, что и на вашем компьютере, и что ваше хост-приложение не пропускает перенаправление привязки для Microsoft.Build.Framework.Невозможно привести объект типа «Microsoft.Tools.WindowsInstallerXml.Build.Tasks.GenerateCompileWithObjectPath» к типу «Microsoft.Build.Framework.ITask».

Но когда я использую командную строку msbuild, все работает нормально.

Есть идеи, пожалуйста?

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...