Не удалось найти задачу "AxImp.exe" - PullRequest
8 голосов
/ 07 мая 2011

Я загрузил решение .NET 4 C # в appharbor, однако, когда appharbor пытается его построить, одна из библиотек классов c # генерирует эту ошибку:

Проект "D: \ temp \ cbymsn2u.j0c \ input \ UI \ Tray \ Tray.csproj "создает" D: \ temp \ cbymsn2u.j0c \ input \ Business \ Crawler \ Crawler.csproj "(цель (и) GetNativeManifest): c: \ Windows \ Microsoft.NET\ Framework \ v4.0.30319 \ Microsoft.Common.targets (1558,9): предупреждение MSB3084: Задача попыталась найти «AxImp.exe» в двух местах.1) В специальном каталоге процессора «C: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools \», который создается на основе SdkToolsPath 2) Специальный каталог x86 в папке «C: \ Program Files \»Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools \ ", который указывается свойством SDKToolsPath.Вы можете решить проблему, выполнив одно из следующих действий: 1) Установите для свойства «SDKToolsPath» местоположение Microsoft Windows SDK.c: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.Common.targets (1558,9): ошибка MSB3086: Задаче не удалось найти «AxImp.exe» с использованием SdkToolsPath «C: \ Program Files \ Microsoft SDKs».\ Windows \ v7.0A \ bin \ NETFX 4.0 Tools \ "или раздел реестра" HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SDKs \ Windows \ v7.0A ".Убедитесь, что SdkToolsPath установлен, и инструмент существует в правильном определенном месте процессора под SdkToolsPath, и что установлен Microsoft Windows SDK. Завершено создание проекта "Tray.csproj" - СБОЙ.

Там нетПохоже, в Crawler.csproj нет никаких других ссылок, так откуда эта ошибка?Тот же код строится нормально локально.

1 Ответ

11 голосов
/ 08 мая 2011

Он посмотрел, где должен быть установлен инструмент, c: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools \ AxImp.exe - это нормальное расположение.Вы можете проверить это на своей машине.Я не знаю точно, что делает AppHarbor, но есть вероятность, что они намеренно удалили этот инструмент.

Очень мало надежды на запуск AxImp.exe на удаленном сервере сборки, компонент ActiveX не собираетсябыть установленным на этой машине.Вам нужно будет запустить AxImp.exe на своей рабочей станции, это нужно сделать только один раз.Добавьте в свой проект две сборки, которые он создает, interop.foo.dll и axinterop.foo.dll.Установите для их свойства Copy Local значение true.

Если вы на самом деле намереваетесь запустить ваше приложение на этом удаленном компьютере, то остановитесь прямо сейчас, элемент управления ActiveX не будет установлен на этом компьютере,Чтобы установить его, нужно чудо или два.

...