Build failed with Error MSB3073 exited with code 9009 - visual-studio-2010

I run my visual studio project with the build script in cmd.
It failed with the following error.
Could anyone be able to guide me on what the error message trying to tell me.
I'm thinking that i might have configured something wrong in my environment.
Message
"C:\yyy\project.sln" (build target) (1) ->
"C:\yyy\project.csproj.metaproj" (default target) (2) ->
"C:\yyy\project.csproj" (default target) (36) ->
(PreBuildEvent target) ->
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(902,9):
error MSB3073:
The command "IF EXIST C:\yyy\subdomain\NUL del /S /F /Q C:\yyy\subdomain\*.*"
exited with code 9009. [C:\yyy\project.csproj]

After all, I figured out that my folder has a space in its name. I fixed this problem by removing the space out of my folder name.
It seems the command doesn't work well with the name with space.

Related

Error CS2007: Unrecognized option: /analyzerconfig

I have a Unity project which I use Roslyn for Code Analysis and I found that you can get the warnings and errors report from console using msbuild.
In the PC I have VS 2019 version 16.6.3, it gave the following error that I will comment below and updated to version 16.11.9, thinking it was the incompatibility and still gets the error. I tried running the command described below on other PCs with other versions of VS and it works fine, but I have not been able to identify what makes the command work well.
Command:
By running the following line in Developer Command Prompt for VS 2019:
msbuild ScriptsAssembly.csproj /p:RunCodeAnalysis=true /t:Clean;Rebuild
I expect to see the total number of warnings for the project and zero errors with successful execution like this:
Instead I get the following error:
CSC : error CS2007: Unrecognized option: '/analyzerconfig:C:\Users\...\Documents\...\...\UnityProject\.editorconfig' [C:\Users\...\Documents\...\...\UnityProject\SimpleJSON
.csproj]
Done Building Project "C:\Users\...\Documents\...\...\UnityProject\SimpleJSON.csproj"
(default targets) -- FAILED.
Done Building Project "C:\Users\...\Documents\...\...\UnityProject\ScriptsAssembly.csp
roj" (Clean;Rebuild target(s)) -- FAILED.
Build FAILED.
...
"C:\Users\...\...\...\...\UnityProject\Project.csproj" (Clean;Rebuild target) (1) ->
"C:\Users\...\...\...\...\UnityProject\SimpleJSON.csproj" (default target) (2:3)
->
(CoreCompile target) ->
CSC : error CS2007: Unrecognized option: '/analyzerconfig:C:\Users\...\Documents\...\...\UnityProject\.editorconfig' [C:\Users\...\Documents\...\...\UnityProject\SimpleJS
ON.csproj]
1 Warning(s)
1 Error(s)
Time Elapsed 00:00:00.91
What I expect to see is a thousand warnings, instead of 1.
I don't know if I am missing a package to install in VS. I have seen the error that the compiler message mentions in the Microsoft documentation, but it doesn't help me much.
Any idea, or help is welcome.

"The process cannot access the file 'Default.rd.xml' because it is being used by another process." on AppVeyor CI

I am doing some work on cordova-windows (https://github.com/apache/cordova-windows), which is using AppVeyor for testing on Windows. One of the things that was missing, were tests with Visual Studio 2017 (only VS2015 was used to test before). So I added those and it works like a charm - mostly.
Unfortunately we now have a very strange test failure:
https://ci.appveyor.com/project/ApacheSoftwareFoundation/cordova-windows/build/1.0.458
Started
Creating Cordova Windows Project:
Path: testcreate 応用
Namespace: com.test.app
Name: 応用
Windows project created with cordova-windows#5.1.0-dev
Building project: C:\projects\cordova-windows\testcreate 応用\CordovaApp.Windows10.jsproj
Configuration : release
Platform : x64
Patching 10 in prebuild event...
Injected base.js reference to the www/index.html
Removing /( *)(<script\s+(?:type="text\/javascript"\s+)?src="\/\/Microsoft.WinJS.2.0\/js\/base.js">\s*<\/script>)(\s*)/ from www/index.html
Removing /( *)(<script\s+(?:type="text\/javascript"\s+)?src="\/\/Microsoft.Phone.WinJS.2.1\/js\/base.js">\s*<\/script>)(\s*)/ from www/index.html
CordovaApp.Windows10 -> C:\projects\cordova-windows\testcreate ??\build\windows\release\x64\win10\CordovaApp.Windows10_1.0.0.0_x64.appx
CordovaApp.Windows10 -> C:\projects\cordova-windows\testcreate ??\build\windows\release\x64\win10\Upload\CordovaApp.Windows10_1.0.0.0_x64.appx
CordovaApp.Windows10 -> C:\projects\cordova-windows\testcreate ??\AppPackages\CordovaApp.Windows10_1.0.0.0_Test\CordovaApp.Windows10_1.0.0.0_x64.appxbundle
CordovaApp.Windows10 -> C:\projects\cordova-windows\testcreate ??\AppPackages\CordovaApp.Windows10_1.0.0.0\CordovaApp.Windows10_1.0.0.0_x64.appxbundle
CordovaApp.Windows10 -> C:\projects\cordova-windows\testcreate ??\AppPackages\CordovaApp.Windows10_1.0.0.0_x64_bundle.appxupload
Your package has been successfully created.
Building project: C:\projects\cordova-windows\testcreate 応用\CordovaApp.Windows10.jsproj
Configuration : release
Platform : x86
Patching 10 in prebuild event...
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\AppxPackage\Microsoft.AppXPackage.Targets(2975,5): error MSB3231: Unable to remove directory "build\windows\bld\PackageUploadLayout\". The process cannot access the file 'Default.rd.xml' because it is being used by another process. [C:\projects\cordova-windows\testcreate ??\CordovaApp.Windows10.jsproj]
C:\projects\cordova-windows\testcreate 応用\cordova\node_modules\q\q.js:155
throw e;
^
Error: C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe: Command failed with exit code 1
at ChildProcess.whenDone (C:\projects\cordova-windows\testcreate 応用\cordova\node_modules\cordova-common\src\superspawn.js:169:23)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:191:7)
at maybeClose (internal/child_process.js:920:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:230:5)
The relevant part is this:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\AppxPackage\Microsoft.AppXPackage.Targets(2975,5): error MSB3231: Unable to remove directory "build\windows\bld\PackageUploadLayout\". The process cannot access the file 'Default.rd.xml' because it is being used by another process. [C:\projects\cordova-windows\testcreate ??\CordovaApp.Windows10.jsproj]
This is not happening when I run the tests locally, meaning I can in no way reproduce what is going on here.
Any idea what process could block this Default.rd.xml file or build\windows\bld\PackageUploadLayout\?
How can I find out in a CI environment like AppVeyor?
Update:
Investigated a bit more by adding /clp:Verbosity=normal to the msbuild calls that are executed.
It runs a similar msbuild call 3 times (once per architecture). The first one succeeds, but during the second one the failure occurs. Makes sense as in the first iteration the folder doesn't exist yet, which it confirms with this output: Directory "build\windows\bld\PackageUploadLayout\" doesn't exist. Skipping..
The last output before the failure then is Removing directory "build\windows\bld\PackageUploadLayout\". which matches what we get in the error message. No indicator why the removing doesn't work though.
Super strange: With /clp:Verbosity=detailed added to the msbuild call, the build actually succeeds! My guess: Because the output takes time, whatever is having a lock on the folder or file releases it.
This is not exactly an answer, but rather investigation report. It is just not enough room comments to describe it. Here is what I did:
forked your repo
created AppVeyor project
added RDP
connected with RDP
installed procmon
added filter to monitor objects which path ends with bld\PackageUploadLayout\Properties\Default.rd.xml
run npm test manually from CMD
When the same error happened I see this:
I am not sure I understand why msbuild failed this way. I opened SHARING VIOLATION event, switched to process and see this:
What catches my eye is that msbuild version is 14. Should be 15 on Visual Studio 2017 image. We have version 14 installed for specific scenarios but default one is 15 (run where msbuild and you will see C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe). I am not sure where this path is set in your scripts, but I feel if you make it run correct msbuild version this may help.

Windows Driver build - incorrect path passed to Inf2Cat.exe

I'm new to the subject of windows drivers. I'm trying to build one of the Windows-driver-samples in Visual Studio 2015. The compilation and linking steps pass without errors and then I get the following error:
TRACKER : error TRK0002: Failed to execute command:
""C:\Program Files (x86)\Windows Kits\10\bin\x86\inf2cat.exe"
/os:10_x64 /driver:x64\Debug\WFPSamplerCalloutDriver\".
The operation identifier is not valid.
(Note the relative path in /driver argument). If I call Inf2Cat manually from command prompt with full path to the driver, it passes without a hitch:
C:\Program Files (x86)\Windows Kits\10\bin\x86>Inf2Cat.exe /os:10_x64
/driver:C:\Users\****\Windows-driver-samples\network\trans\WFPSampler\sys\x64\Debug\W
FPSamplerCalloutDriver
...........................
Signability test complete.
Errors:
None
Warnings:
None
Catalog generation complete.
C:\Users\****\Windows-driver-samples\network\trans\WFPSampler\sys\x64\Debug
\WFPSamplerCalloutDriver\wfpsamplercalloutdriver.cat
So, it seems to me that VS somehow failed to provide the full path to the driver in the argument to Inf2Cat.
How can I fix this? Which configuration property of my project is incorrect?
Description
Seems Inf2Cat from SDK10 does not accept directory path format provided by VS Project Configurator. Works when: either output folder name has with no trailing "\" or folder name ends up with "\.".
Workaroud
Disable Inf2Cat under Project Preferences: Run Inf2Cat -> No
Configure build events under Build-Events->Post Build-Event: Command Line -> "$(WindowsSdkDir)bin\$(DDKPlatform)\inf2cat.exe" /os:10_$(DDKPlatform) /driver:"$(ProjectDir)$(IntDir)$(MSBuildProjectName)"

error MSB3073: The command "call "C:\project\clientdll\dependencies\gitrev.bat" :VCEnd" exited with code 255

I'm getting this message when trying to build my project (Visual Studio 2010):
Error 120 error MSB3073: The command "call "C:\project\clientdll\dependencies\gitrev.bat"
:VCEnd" exited with code 255.
Yes, the file does exist, I used this command in Pre build event, it looks like this:
call "$(SolutionDir)dependencies\gitrev.bat"
Any ideas?
Your Visual Studio is probably not openend with sufficient privileges. Open as admin and try again.
1) right click on Visual Studio Icon
2) choose run as administrator
3) In Start page choose your application.
4) Clean solution
5) Verify if outputs are removed and that the bat file is present in location
6) Rebuild solution
7) Check for errors again.
I had the same error when forgot to add the "call" prefix before the label:
(
...
:MYLABEL blablabla
...
)
The "(:" sequence basically will output the "Continue?" in the opened console window. Seems the Visual Studio does some track of what kind of cmd.exe behaviour and immediately stops the cmd.exe process with the 255 error.
I've had another error like:
error MSB3073: :VCEnd" exited with code -1.
Where the reason of this was the script output of another sequence (only in Visual Studio 2010 and higher):
... error ... :
Well, the Visual Studio tries to guess there the script behaves badly and stops it with these kind of errors.

Build FAILED for Notepad++ with message PostBuildEvent: The system cannot find the file specified

I get a build failure due to a post build event failure when building Notepad++ in VS 2010.
Here's the message from Output window:
PostBuildEvent:
The system cannot find the file specified.
The system cannot find the file specified.
The system cannot find the file specified.
C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: The command "copy ..\src\config.xml ..\bin\config.xml
C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: copy ..\src\langs.xml ..\bin\langs.xml
C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: copy ..\src\stylers.xml ..\bin\stylers.xml
C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073:
C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" exited with code 1.
Please help
Posting the answer for others who might run into this issue
After a little research on this subject,
I learned that the XML file names that are specified in the projects Post-Build Event have changed, so you have to update that to use the new file-names
You can fix this by modifying the project file like this:
In Visual Studio,
Select the Project (Notepad++) and choose Project > Properties from VS Menu (or hit ALT + F7)
In the Property Pages window,
expand the Configuration Properties node
then, expand the Build Events node
Select Post-Build Event to view its properties
Modify the Command Line Property to look like this:
copy ..\src\config.model.xml ..\bin\config.model.xml
copy ..\src\langs.model.xml ..\bin\langs.model.xml
copy ..\src\stylers.model.xml ..\bin\stylers.model.xml
Click OK and Build away...
Also, be careful of spaces in the path. I just wasted a half hour convincing myself that the paths in a Pre-Build copy step were indeed correct (they were).
Got bitten by spaces in the path. Instead of copy d:\a path\*.dll d:\b path\ you want to quote it, like this:
copy "d:\a path\\*.dll" "d:\b path\"
Not specific to Notepad++ but I had a similar problem with a recent post-build step. When you see...
PostBuildEvent: The system cannot find the file specified.
..your source path is wrong. In my case I was using the wrong relative source path. And this fixed it:
copy /Y $(TargetName).* $(ProjectDir)..\Latest

Resources