2017-02-17 21 views
0

Я очень новичок в среде MSBuild и, пытаясь создать одно из приложений, над которым я работаю, следую некоторым инструкциям. Следуя инструкции, написанные в документации приложения, я был в состоянии построить команду, которая выглядит, как показано ниже:MSBuild Ошибка: MSBUILD: ошибка MSB1009: файл проекта не существует

msbuild /t:Harvest;WIX setup.build; /P:publish_location="C:\Installer";product_file="C:\Temp\ServiceHost.dll";product_id="1.0" 

Но когда я запускаю команду, он выдает следующее сообщение об ошибке:

MSBUILD : error MSB1009: Project file does not exist.

который поднимает много вопросов:

  1. Здесь нет параметров Project. Я не уверен, почему он терпит неудачу по этому конкретному параметру?
  2. Что означает «/ t: Урожай, WIX» означает?
  3. Обычно команда msbuild ссылается на файл .sln или .csproj, но документация, на которую я ссылаюсь, особенно хочет, чтобы я ссылался на файл .Dll, поэтому я это сделал. Правильно ли я это делаю?
  4. Как я могу решить эту ошибку?

Просто для справки ниже в документации, что я имею в виду:

This solution is only includes an installer. In order to create an MSI with this solution by hand, you need to bring up a visual studio command prompt, navigate to the setup.build location of the Installer project and type the following command: (where the publish location is replaced by the current publish location, product_id is replaced with current product_id, and product_file is the file you want to pull the version from) msbuild /t:Harvest;WIX setup.build /p:publish_location="location";product_file="Matchbox.Management.ServiceHost.dll";product_id="xxxxxxxxxxxx"

+1

Ответ wkl - хорошее описание того, что каждая часть команды msbuild. Попробуйте обновить свою команду до 'msbuild/t: Harvest; WIX /p:publish_location="C:\Installer";product_file="C:\Temp\ServiceHost.dll";product_id="1.0" setup.build' убедитесь, что настройка .build находится в рабочем каталоге вашего приглашения cmd (или w/e, которое вы используете), где вы используете команду. –

+0

@ CoffeeBean, как насчет этой проблемы в соответствии с ответом wkl и комментарием Брайана Сазерленда? Не могли бы вы сообщить мне последнюю информацию об этой проблеме? –

ответ

1

От MSBuild Command Line Reference:

MSBuild.exe [Switches] [ProjectFile] 

Так setup.build ваш файл проекта (который, кажется, не может быть найден).

/target:targets

Builds these targets in this project. Use a semicolon or a comma to separate multiple targets, or specify each target separately. /t is also acceptable.

так

/t:Harvest;WIX 

означает, что вы строите цели Harvest и WIX, которые должны быть определены в вашем файле проекта.

/property:name=value

Sets or overrides these project-level properties, where name is the property name and value is the property value. Use a semicolon or a comma to separate multiple properties, or specify each property separately. /p is also acceptable.

так

/P:publish_location="C:\Installer";product_file="C:\Temp\ServiceHost.dll";product_id="1.0" 

просто определяет три свойства, которые могут быть использованы для любых целей, в проекте MSBuild. Поэтому мы не можем сказать, правильно ли вы это делаете. Но, похоже, это соответствует вашей документации.

Смежные вопросы