Did you try to give the full path of the command that is running in the pre- or post-build event command?
I was getting the 9009 error due to a xcopy post-build event command in Visual Studio 2008.
The command
"xcopy.exe /Y C:projectpathproject.config C:compilepath"exited with code 9009.
But in my case it was also intermittent. That is, the error message persists until a restart of the computer, and disappears after a restart of the computer. It is back after some remotely related issue I am yet to discover.
However, in my case providing the command with its full path solved the issue:
c:windowssystem32xcopy.exe /Y C:projectpathproject.config C:compilepath
Instead of just:
xcopy.exe /Y C:projectpathproject.config C:compilepath
If I do not have the full path, it runs for a while after a restart, and then stops.
Also as mentioned on the comments to this post, if there are spaces in full path, then one needs quotation marks around the command. E.g.
"C:The folder with spacesABCDEFxcopy.exe" /Y C:projectpathproject.config C:compilepath
Note that this example with regards to spaces is not tested.
- Remove From My Forums
-
Question
-
I did some research into my error code and traced it down to my project file->Properties->Build Events
For a post-build event, I have the following:
«$(TargetPath)» -exportschema «$(ProjectDir)myschema.txschema»
As I understand it, that path is invalid. Problem is, I don’t know how to make it valid…
I am running:
Visual C# 2005 SP1
XNA Game Studio 2.0
TorqueX 2.0
Windows Vista Ultimate 64
Keep in mind that this is a shared project and once I have it working, I need to commit it to an SVN and it must be able to work on other versions of Windows.

-
Edited by
Tuesday, January 27, 2009 4:32 PM
-
Edited by
Answers
-
We may end up creating a new project and just copy/pasting all our code in… IDK yet, it’s up to the project lead…
-
Marked as answer by
Michael Sun [MSFT]Microsoft employee
Monday, February 2, 2009 2:20 AM
-
Marked as answer by
Visual Studio errors can be very annoying. Right?
Sometimes we spend hours or even days troubleshooting problems.. Ugh!
So I’ve compiled a post on the most common Visual Studio errors that my students and I encountered. I will maintain and update this post over time.
I also supplied information on how to fix these errors.
Hope it helps…
[toc]
Visual Studio Error
The command “chmod + x” exited with code 9009
Error Message
The command “chmod + x” exited with code 9009

The Problem
Problem A:
The problem is that probably occurs when you are trying to build a solution. At that point, in your console, you get this error.
This stems from the fact that you have a space somewhere in your folder structure. For example:
“C:SourceGithubFolder With Space“
Problem B:
In this case, your folder structure may be fine. However, you might find a project that for some reason didn’t pull all of its dependencies from Nuget.
If you look at the solution, under References, you’ll see errors on a bunch of the Nuget packages.
The Solution
To Problem A:
Simply rename your folder or file so that it doesn’t have a space in it. For example, change the above to:
“C:SourceGithubFolderWithSpace“
Your solution will now build correctly
I fixed «The command «chmod + x» exited with code 9009 error.» Thanks to this post! https://ultimateqa.com/?p=8810 Click To Tweet
To Problem B:
- Right click on whole solution
- Click Restore Nuget Packages
- Rebuild solution
I fixed «The command «chmod + x» exited with code 9009 error.» Thanks to this post! https://ultimateqa.com/?p=8810 Click To Tweet
A project with an output Type of class library cannot be started directly
Error Message
A project with an output Type of class library cannot be started directly. In order to debug this project, add an executable project to this solution which references the library project. Set the executable project as the startup project.

The Problem
The problem is that you create a project as a type “Class Library” or “Unit Test Project” and are attempting to execute this project using the key F5, which means “Run”. You cannot run these types of projects in this manner. A unit test project must be executed using the Test Explorer of Visual Studio.
The Solution
Option 1
In your IDE, go to Test > Windows > Test Explorer. This will open up the Test Explorer. Right click the name of your unit test and then select “Run Selected Tests”.
Option 2
Place the cursor inside of your test method. Press Ctrl + R, T. This will run the test that has the cursor.
This free C# course will teach you how to correctly run the different kinds of projects.
Program does not contain a static ‘Main’ method suitable for an entry point
Error Message
Program does not contain a static ‘Main’ method suitable for an entry point
The Solution
Same solution as this error “A project with an output Type of class library cannot be started directly”
The reference assemblies for framework “.NETFramework,Version=v4.6.1” were not found…
Error Message
error MSB3644: The reference assemblies for framework “.NETFramework,Version=v4.6.1” were not found. To resolve this, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framework for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assembly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted for the framework you intend.
The Problem
The problem is that you need to install the correct version of .NET Framework to open this solution.
The Solution
- Follow the instructions here to get to the Modify screen of Visual Studio
- You might be prompted to update VS Installer, go ahead and do so
- In the Installation Details pane on the right hand side, make sure that you select all of the .NET Framework and .NET Core installations. That way, your environment can support all current .NET implementations.
- Click the Modify button

Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
Error Message
Skipped loading symbols. Module is optimized and the debugger option ‘Just My Code’ is enabled.
Visual Studio, MsTest
The Solution
In Visual Studio go to Tools > Options > Debugging > uncheck “Enable Just My Code”
Unit tests not running in Visual Studio Test Explorer
Error message
UTA031: class … does not have valid TestContext property. TestContext must be of type TestContext, must be non-static, public and must not be read-only. For example: public TestContext TestContext.
The solution
If you are using the MStest unit testing framework, make sure that your TestContext property follows the specifications listed in the message. Meaning non-static, public and must not be read-only.
It should look like this:
public TestContext TestContext { get; set; }
Unit tests not showing up in Visual Studio test explorer
Error Message
Something like this below:
…MSTest.TestAdapter.1.2.0/build/_common/Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.dll
The Problem
- Visual Studio Version: 15.0.X
- MSTest Adapter version: 1.18
There seems to a be bug with Visual Studio and the Visual Studio test adapter when you are trying to work with the versions listed above.
The Solution
To fix this problem, you need to update Visual Studio to version 15.5.2 and your MSTest Adapter in the Nuget package manager to version 1.2.0.
Are your unit tests not showing up in the Visual Studio Test Explorer? Here is the fix https://wp.me/p7absY-4E #automation #development #programming #dotnet Click To Tweet
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly…
Error
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'System.Configuration.ConfigurationManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.
The Problem
There seems to be some issue with .NET Core apps that you can learn more about here. Only if you want to read about it.
The solution
The solution I got from that post I mentioned. However, you basically just need to do this on your .NET Core project:
Install Nuget package for System.Configuration.ConfigurationManager
That should do it 🙂
An exception occurred while invoking executor ‘executor://mstestadapter/v2’ …
Error Message
This message is in your Output pane in “Output from Tests”.
An exception occurred while invoking executor ‘executor://mstestadapter/v2’: Constructor on type ‘Microsoft.VisualStudio.TestPlatform.MSTest.TestAdapter.Execution.UnitTestRunner’ not found.
The Symptoms
You are trying to run your Automation tests using MSTest, but they don’t run. They start going, but then Visual Studio just stops. When you check the Output pane, you see the message described above.
MSTest has a bug and needs an update. I had version 1.1.11 installed and it caused me this issue.
The Solution
- Using NuGet Package manager, update your MSTest.TestAdapter and MSTest.TestFramework NuGet packages to the latest version. I updated to 1.1.18.
- Restart Visual Studio
- Re-run your automation tests
An exception occurred while test discoverer ‘NUnit3TestDiscoverer’ was loading tests…
Error Message
An exception occurred while test discoverer ‘NUnit3TestDiscoverer’ was loading tests. Exception: Could not load file or assembly ‘nunit.engine’
The Problem
A caching issue with NUnit
The Solution
In this bug to NUnit, lorenh provides the solution about how to delete your cache.
An exception occurred
System.SecurityExceptions (multiple options)
Error Message
Almost any error message that contains SecurityException or something being “Inaccessible”
Here is a specific example that deals with NLog:
Error Error initializing target ‘EventLog Target[eventlog_wrapped]’. Exception: System.Security.SecurityException: The source was not found, but some or all event logs could not be searched. Inaccessible logs: Security.
at System.Diagnostics.EventLog.FindSourceRegistration(String source, String machineName, Boolean readOnly, Boolean wantToCreate)
at System.Diagnostics.EventLog._InternalLogNameFromSourceName(String source, String machineName)
at System.Diagnostics.EventLog.LogNameFromSourceName(String source, String machineName)
at NLog.Targets.EventLogTarget.InitializeTarget()
at NLog.Targets.Target.Initialize(LoggingConfiguration configuration)
The Zone of the assembly that failed was:
MyComputer
The Problem
It’s stupid if you ask me, but a certainly recurring problem…
For whatever reason, Visual Studio sometimes requires you to start it as an Administrator. I believe this is after first installation or any kind of modification to Visual Studio.
The Solution
- Right click your Visual Studio icon
- Select “Run as administrator”
- Perform whatever operation you were previously trying to perform.
- The error should now be fixed
PS. You don’t need to keep running it as Administrator after this. At least it’s a one time action.
Summary
Hope this was helpful?
Is there an error that you need help resolving? Please comment below and I’ll try to resolve it for you.
Что означает это сообщение об ошибке? Что я могу сделать, чтобы исправить эту проблему?
AssemblyInfo.cs вышел с кодом 9009
Проблема, вероятно, происходит как часть этапа после сборки в .NET-решении в Visual Studio.
Ответ 1
Вы пытались указать полный путь к команде, которая выполняется в команде события pre-or post-build event?
Я получал ошибку 9009 из-за команды xcopy post-build event в Visual Studio 2008.
Команда
"xcopy.exe /Y C:projectpathproject.config C:compilepath"вышла с кодом 9009.
Но в моем случае это было также прерывистым. То есть сообщение об ошибке сохраняется до перезагрузки компьютера и исчезает после перезагрузки компьютера. Он вернулся после некоторой отдаленной проблемы, которую я еще не обнаружил.
Однако, в моем случае, при условии, что команда с полным пути решена, проблема:
c:windowssystem32xcopy.exe /Y C:projectpathproject.config C:compilepath
Вместо просто:
xcopy.exe /Y C:projectpathproject.config C:compilepath
Если у меня нет полного пути, он запускается некоторое время после перезапуска, а затем останавливается.
Также, как упоминалось в комментариях к этому сообщению, , если есть пробелы в полном пути, вам нужно кавычки вокруг команды. Например.
"C:The folder with spacesABCDEFxcopy.exe" /Y C:projectpathproject.config C:compilepath
Обратите внимание, что этот пример в отношении пробелов не проверен.
Ответ 2
Код ошибки 9009 означает, что файл ошибки не найден. Все основные причины, изложенные в ответах здесь, являются хорошим источником, чтобы понять, почему, но сама ошибка просто означает плохой путь.
Ответ 3
Это происходит, когда вам не хватает некоторых параметров среды для использования инструментов Microsoft Visual Studio x86.
Поэтому попробуйте добавить в качестве первой команды на этапах после сборки:
Для Visual Studio 2010 используйте:
call "$(DevEnvDir)..Toolsvsvars32.bat"
Как уже упоминалось в комментариях @FlorianKoch, для VS 2017 используйте:
call "$(DevEnvDir)..ToolsVsDevCmd.bat"
Его следует поместить перед любой другой командой.
Он установит среду для использования инструментов Microsoft Visual Studio x86.
Ответ 4
Скорее всего, у вас есть место в результирующем пути.
Вы можете обойти это, указав пути, тем самым позволяя пробелы. Например:
xcopy "$(SolutionDir)Folder NameFile To Copy.ext" "$(TargetDir)" /R /Y /I
Ответ 5
Имела ту же переменную после изменения переменной PATH из переменных окружения в Win 7. Возвращение к умолчанию помогло.
Ответ 6
У меня была ошибка 9009, когда событие post post script пыталось запустить пакетный файл, который не существовал в указанном пути.
Ответ 7
Я вызвал эту ошибку, когда я отредактировал переменную окружения Path. После редактирования я случайно добавил Path= в начало строки пути. С такой измененной переменной пути мне не удалось запустить XCopy в командной строке (никакая команда или файл не найден), а Visual Studio отказалась запускать шаг после сборки, ссылаясь на ошибку с кодом 9009.
XCopy обычно находится в C:WindowsSystem32. Как только переменная окружения Path разрешила XCopy получить разрешение в приглашении DOS, Visual Studio хорошо построила мое решение.
Ответ 8
Если script на самом деле делает то, что ему нужно сделать, и просто Visual Studio выдает вам сообщение об ошибке, которую вы могли бы просто добавить:
exit 0
до конца script.
Ответ 9
Проверьте орфографию. Я пытался вызвать исполняемый файл, но имел имя с ошибкой и дал мне сообщение exited with code 9009.
Ответ 10
В моем случае перед вызовом команды мне пришлось сначала записать «CD» ( «Изменить каталог» ) в соответствующий каталог, поскольку исполняемый файл, который я вызывал, был в моей директории проектов.
Пример:
cd "$(SolutionDir)"
call "$(SolutionDir)build.bat"
Ответ 11
Моя точная ошибка была
The command "iscc /DConfigurationName=Debug "C:ProjectsBlahblahblahsetup.iss"" exited with code 9009.
9009 означает, что файл не найден, но на самом деле он не смог найти часть «iscc» команды.
Я исправил его, добавив ";C:Program FilesInno Setup 5 (x86)" в переменную системной среды "path"
Ответ 12
Другой вариант:
Сегодня я вызываю интерпретатор python из cron в win32 и беру ExitCode (% ERRORLEVEL%) 9009, потому что системная учетная запись, используемая cron, не имеет пути к каталогу Python.
Ответ 13
Проблема в моем случае возникла, когда я попытался использовать команду в командной строке для события Post-build в моей тестовой библиотеке классов. Когда вы используете такие кавычки:
"$(SolutionDir)packagesNUnit.Runners.2.6.2toolsnunit" "$(TargetPath)"
или если вы используете консоль:
"$(SolutionDir)packagesNUnit.Runners.2.6.2toolsnunit-console" "$(TargetPath)"
Это исправило проблему для меня.
Ответ 14
Кроме того, убедитесь, что в окне редактирования событий post build в вашем проекте нет разрывов строк. Иногда копирование команды xcopy из сети, когда она многострочная и вставляет ее в VS, вызовет проблему.
Ответ 15
Я добавил » > myFile.txt» в конец строки на этапе предварительной сборки, а затем проверил файл на фактическую ошибку.
Ответ 16
Тфа ответ был отклонен, но на самом деле может вызвать эту проблему. Благодаря hanzolo я посмотрел в окне вывода и нашел следующее:
3>'gulp' is not recognized as an internal or external command,
3>operable program or batch file.
3>D:dev<filepath>Web.csproj(4,5): error MSB3073: The command "gulp clean" exited with code 9009.
После запуска npm install -g gulp я перестал получать эту ошибку. Если вы получаете эту ошибку в Visual Studio, проверьте окно вывода и посмотрите, является ли проблема неустановленной переменной среды.
Ответ 17
Для меня дисковое пространство было низким, и ожидается, что файлы, которые не могут быть записаны, будут представлены позже. В других ответах упоминались недостающие файлы (или неправильно названные/неправильные ссылки на файлы), но основной причиной было отсутствие дискового пространства.
Ответ 18
Еще один вариант файла не найден, из-за пробелов в пути. В моем случае в msbuild script. Мне нужно было использовать строки HTML и ampquot; в команде exec.
<!-- Needs quotes example with my Buildscript.msbuild file -->
<Exec Command=""$(MSBuildThisFileDirectory)wixwixscript.bat" $(VersionNumber) $(VersionNumberShort)"
ContinueOnError="false"
IgnoreExitCode="false"
WorkingDirectory="$(MSBuildProjectDirectory)wix" />
Ответ 19
То же, что и другие ответы, в моем случае это было из-за недостающего файла. Чтобы узнать, что является отсутствующим файлом, вы можете перейти в окно вывода, и он сразу покажет вам, что пропало.
Чтобы открыть окно вывода в Visual Studio:
- Ctrl + Alt + O
- Вид > Выход

Ответ 20
Я исправил это, просто перезапустив Visual Studio — я только что запустил dotnet tool install xxx в окне консоли, и VS еще не выбрал новые переменные среды и/или параметры пути, которые были изменены, поэтому быстрый перезапуск решил проблему.
Ответ 21
Это довольно просто, я столкнулся с этой проблемой и смущающе провалился.
Приложение использует аргументы командной строки, я удалил их, а затем добавил их обратно. Вдруг проект не смог построить.
Visual Studio → Свойства проекта → убедитесь, что вы используете вкладку «Отладка» (не вкладка «Build Events» ) → Аргументы командной строки
Я использовал текстовую область Post и Pre-build, которая была неправильной в этом случае.
Ответ 22
Для меня это произошло после обновления пакетов nuget от одной версии PostSharp до следующего в большом решении (проект ~ 80).
У меня есть ошибки компилятора для проектов, которые имеют команды в событиях PreBuild.
‘cmd’ не распознается как внутренняя или внешняя команда, операционная программа или командный файл.
C:Program Files (x86)MSBuild14.0binMicrosoft.Common.CurrentVersion.targets(1249,5): ошибка MSB3073: команда «cmd/c C:GitReposmainServiceInterfacesDEV.ConfigPreBuild.cmd ServiceInterfaces» вышел с кодом 9009.
Переменная PATH была испорчена слишком долго, с несколькими повторяющимися путями, связанными с PostSharp.Patterns.Diagnostics.
Когда я закрыл Visual Studio и снова открыл его, проблема была исправлена.
Ответ 23
Мое решение было просто: как вы пытались отключить его и снова? Поэтому я перезапустил компьютер, и проблема исчезла.
Ответ 24
Я также столкнулся с этой проблемой 9009, столкнувшись с ситуацией перезаписи.
В принципе, если файл уже существует и вы не указали переключатель /y (который автоматически перезаписывается), эта ошибка может возникнуть при запуске из сборки.
Ответ 25
На самом деле я заметил, что по какой-то причине переменная среды% windir% иногда стирается. То, что сработало для меня, было изменено на переменную среды windir на c:windows, перезапустить VS и что это. Таким образом, вы не можете изменять файлы решений.
Ответ 26
По крайней мере, в Visual Studio Ultimate 2013, версии 12.0.30723.00 Update 3, невозможно разделить оператор if/else с разрывом строки:
работы:
if '$(BuildingInsideVisualStudio)' == 'true' (echo local) else (echo server)
не работает:
if '$(BuildingInsideVisualStudio)' == 'true' (echo local)
else (echo server)
Ответ 27
Еще одна причина:
Если ваше событие pre-build ссылается на другой путь к bin файлам, и вы видите эту ошибку при запуске msbuild, но не Visual Studio, тогда вам нужно вручную организовать проекты в файле *.sln(с текстовым редактором), чтобы проект нацелены на событие, которое создается перед проектом события. Другими словами, msbuild использует порядок, в котором проекты перечислены в файле *.sln, тогда как VS использует знания зависимостей проекта. Это произошло, когда инструмент, который создает базу данных, которая будет включена в wixproj, была указана после wixproj.
Ответ 28
Я думаю, что в моем случае были русские символы в пути (все проекты были в папке пользователя). Когда я помещал решение в другую папку (прямо на диск), все стало нормально.
Ответ 29
Мое решение состояло в том, чтобы создать копию файла и добавить шаг к заданию сборки, чтобы скопировать мой файл поверх оригинала.
Ответ 30
Для меня это была перезагрузка Visual Studio.
У меня была построена gulp с кодом 9009.
Я установил gulp, но это не отразилось, пока я не перезапустил Visual Studio.
Что означает это сообщение об ошибке? Что я могу сделать, чтобы исправить эту проблему?
AssemblyInfo.cs вышел с кодом 9009
Проблема, вероятно, происходит как часть этапа после сборки в .NET-решении в Visual Studio.
Ответ 1
Вы пытались указать полный путь к команде, которая выполняется в команде события pre-or post-build event?
Я получал ошибку 9009 из-за команды xcopy post-build event в Visual Studio 2008.
Команда
"xcopy.exe /Y C:projectpathproject.config C:compilepath"вышла с кодом 9009.
Но в моем случае это было также прерывистым. То есть сообщение об ошибке сохраняется до перезагрузки компьютера и исчезает после перезагрузки компьютера. Он вернулся после некоторой отдаленной проблемы, которую я еще не обнаружил.
Однако, в моем случае, при условии, что команда с полным пути решена, проблема:
c:windowssystem32xcopy.exe /Y C:projectpathproject.config C:compilepath
Вместо просто:
xcopy.exe /Y C:projectpathproject.config C:compilepath
Если у меня нет полного пути, он запускается некоторое время после перезапуска, а затем останавливается.
Также, как упоминалось в комментариях к этому сообщению, , если есть пробелы в полном пути, вам нужно кавычки вокруг команды. Например.
"C:The folder with spacesABCDEFxcopy.exe" /Y C:projectpathproject.config C:compilepath
Обратите внимание, что этот пример в отношении пробелов не проверен.
Ответ 2
Код ошибки 9009 означает, что файл ошибки не найден. Все основные причины, изложенные в ответах здесь, являются хорошим источником, чтобы понять, почему, но сама ошибка просто означает плохой путь.
Ответ 3
Это происходит, когда вам не хватает некоторых параметров среды для использования инструментов Microsoft Visual Studio x86.
Поэтому попробуйте добавить в качестве первой команды на этапах после сборки:
Для Visual Studio 2010 используйте:
call "$(DevEnvDir)..Toolsvsvars32.bat"
Как уже упоминалось в комментариях @FlorianKoch, для VS 2017 используйте:
call "$(DevEnvDir)..ToolsVsDevCmd.bat"
Его следует поместить перед любой другой командой.
Он установит среду для использования инструментов Microsoft Visual Studio x86.
Ответ 4
Скорее всего, у вас есть место в результирующем пути.
Вы можете обойти это, указав пути, тем самым позволяя пробелы. Например:
xcopy "$(SolutionDir)Folder NameFile To Copy.ext" "$(TargetDir)" /R /Y /I
Ответ 5
Имела ту же переменную после изменения переменной PATH из переменных окружения в Win 7. Возвращение к умолчанию помогло.
Ответ 6
У меня была ошибка 9009, когда событие post post script пыталось запустить пакетный файл, который не существовал в указанном пути.
Ответ 7
Я вызвал эту ошибку, когда я отредактировал переменную окружения Path. После редактирования я случайно добавил Path= в начало строки пути. С такой измененной переменной пути мне не удалось запустить XCopy в командной строке (никакая команда или файл не найден), а Visual Studio отказалась запускать шаг после сборки, ссылаясь на ошибку с кодом 9009.
XCopy обычно находится в C:WindowsSystem32. Как только переменная окружения Path разрешила XCopy получить разрешение в приглашении DOS, Visual Studio хорошо построила мое решение.
Ответ 8
Если script на самом деле делает то, что ему нужно сделать, и просто Visual Studio выдает вам сообщение об ошибке, которую вы могли бы просто добавить:
exit 0
до конца script.
Ответ 9
Проверьте орфографию. Я пытался вызвать исполняемый файл, но имел имя с ошибкой и дал мне сообщение exited with code 9009.
Ответ 10
В моем случае перед вызовом команды мне пришлось сначала записать «CD» ( «Изменить каталог» ) в соответствующий каталог, поскольку исполняемый файл, который я вызывал, был в моей директории проектов.
Пример:
cd "$(SolutionDir)"
call "$(SolutionDir)build.bat"
Ответ 11
Моя точная ошибка была
The command "iscc /DConfigurationName=Debug "C:ProjectsBlahblahblahsetup.iss"" exited with code 9009.
9009 означает, что файл не найден, но на самом деле он не смог найти часть «iscc» команды.
Я исправил его, добавив ";C:Program FilesInno Setup 5 (x86)" в переменную системной среды "path"
Ответ 12
Другой вариант:
Сегодня я вызываю интерпретатор python из cron в win32 и беру ExitCode (% ERRORLEVEL%) 9009, потому что системная учетная запись, используемая cron, не имеет пути к каталогу Python.
Ответ 13
Проблема в моем случае возникла, когда я попытался использовать команду в командной строке для события Post-build в моей тестовой библиотеке классов. Когда вы используете такие кавычки:
"$(SolutionDir)packagesNUnit.Runners.2.6.2toolsnunit" "$(TargetPath)"
или если вы используете консоль:
"$(SolutionDir)packagesNUnit.Runners.2.6.2toolsnunit-console" "$(TargetPath)"
Это исправило проблему для меня.
Ответ 14
Кроме того, убедитесь, что в окне редактирования событий post build в вашем проекте нет разрывов строк. Иногда копирование команды xcopy из сети, когда она многострочная и вставляет ее в VS, вызовет проблему.
Ответ 15
Я добавил » > myFile.txt» в конец строки на этапе предварительной сборки, а затем проверил файл на фактическую ошибку.
Ответ 16
Тфа ответ был отклонен, но на самом деле может вызвать эту проблему. Благодаря hanzolo я посмотрел в окне вывода и нашел следующее:
3>'gulp' is not recognized as an internal or external command,
3>operable program or batch file.
3>D:dev<filepath>Web.csproj(4,5): error MSB3073: The command "gulp clean" exited with code 9009.
После запуска npm install -g gulp я перестал получать эту ошибку. Если вы получаете эту ошибку в Visual Studio, проверьте окно вывода и посмотрите, является ли проблема неустановленной переменной среды.
Ответ 17
Для меня дисковое пространство было низким, и ожидается, что файлы, которые не могут быть записаны, будут представлены позже. В других ответах упоминались недостающие файлы (или неправильно названные/неправильные ссылки на файлы), но основной причиной было отсутствие дискового пространства.
Ответ 18
Еще один вариант файла не найден, из-за пробелов в пути. В моем случае в msbuild script. Мне нужно было использовать строки HTML и ampquot; в команде exec.
<!-- Needs quotes example with my Buildscript.msbuild file -->
<Exec Command=""$(MSBuildThisFileDirectory)wixwixscript.bat" $(VersionNumber) $(VersionNumberShort)"
ContinueOnError="false"
IgnoreExitCode="false"
WorkingDirectory="$(MSBuildProjectDirectory)wix" />
Ответ 19
То же, что и другие ответы, в моем случае это было из-за недостающего файла. Чтобы узнать, что является отсутствующим файлом, вы можете перейти в окно вывода, и он сразу покажет вам, что пропало.
Чтобы открыть окно вывода в Visual Studio:
- Ctrl + Alt + O
- Вид > Выход

Ответ 20
Я исправил это, просто перезапустив Visual Studio — я только что запустил dotnet tool install xxx в окне консоли, и VS еще не выбрал новые переменные среды и/или параметры пути, которые были изменены, поэтому быстрый перезапуск решил проблему.
Ответ 21
Это довольно просто, я столкнулся с этой проблемой и смущающе провалился.
Приложение использует аргументы командной строки, я удалил их, а затем добавил их обратно. Вдруг проект не смог построить.
Visual Studio → Свойства проекта → убедитесь, что вы используете вкладку «Отладка» (не вкладка «Build Events» ) → Аргументы командной строки
Я использовал текстовую область Post и Pre-build, которая была неправильной в этом случае.
Ответ 22
Для меня это произошло после обновления пакетов nuget от одной версии PostSharp до следующего в большом решении (проект ~ 80).
У меня есть ошибки компилятора для проектов, которые имеют команды в событиях PreBuild.
‘cmd’ не распознается как внутренняя или внешняя команда, операционная программа или командный файл.
C:Program Files (x86)MSBuild14.0binMicrosoft.Common.CurrentVersion.targets(1249,5): ошибка MSB3073: команда «cmd/c C:GitReposmainServiceInterfacesDEV.ConfigPreBuild.cmd ServiceInterfaces» вышел с кодом 9009.
Переменная PATH была испорчена слишком долго, с несколькими повторяющимися путями, связанными с PostSharp.Patterns.Diagnostics.
Когда я закрыл Visual Studio и снова открыл его, проблема была исправлена.
Ответ 23
Мое решение было просто: как вы пытались отключить его и снова? Поэтому я перезапустил компьютер, и проблема исчезла.
Ответ 24
Я также столкнулся с этой проблемой 9009, столкнувшись с ситуацией перезаписи.
В принципе, если файл уже существует и вы не указали переключатель /y (который автоматически перезаписывается), эта ошибка может возникнуть при запуске из сборки.
Ответ 25
На самом деле я заметил, что по какой-то причине переменная среды% windir% иногда стирается. То, что сработало для меня, было изменено на переменную среды windir на c:windows, перезапустить VS и что это. Таким образом, вы не можете изменять файлы решений.
Ответ 26
По крайней мере, в Visual Studio Ultimate 2013, версии 12.0.30723.00 Update 3, невозможно разделить оператор if/else с разрывом строки:
работы:
if '$(BuildingInsideVisualStudio)' == 'true' (echo local) else (echo server)
не работает:
if '$(BuildingInsideVisualStudio)' == 'true' (echo local)
else (echo server)
Ответ 27
Еще одна причина:
Если ваше событие pre-build ссылается на другой путь к bin файлам, и вы видите эту ошибку при запуске msbuild, но не Visual Studio, тогда вам нужно вручную организовать проекты в файле *.sln(с текстовым редактором), чтобы проект нацелены на событие, которое создается перед проектом события. Другими словами, msbuild использует порядок, в котором проекты перечислены в файле *.sln, тогда как VS использует знания зависимостей проекта. Это произошло, когда инструмент, который создает базу данных, которая будет включена в wixproj, была указана после wixproj.
Ответ 28
Я думаю, что в моем случае были русские символы в пути (все проекты были в папке пользователя). Когда я помещал решение в другую папку (прямо на диск), все стало нормально.
Ответ 29
Мое решение состояло в том, чтобы создать копию файла и добавить шаг к заданию сборки, чтобы скопировать мой файл поверх оригинала.
Ответ 30
Для меня это была перезагрузка Visual Studio.
У меня была построена gulp с кодом 9009.
Я установил gulp, но это не отразилось, пока я не перезапустил Visual Studio.
