Surprising MSB4057 error

I have a solution, MySolution.sln, with several c# project (MyProj.csproj, My.Other.Proj.csproj)

This works:

msbuild MySolution.sln /nologo /t:MyProj

But this fails with MSB4057 (the target does not exist in the project):

msbuild MySolution.sln /nologo /t:My.Other.Proj

So, what could possibly be the difference between the two projects?

Continue reading

JIRA SOAP API is being deprecated

In the past I mentioned that I use the JIRA::Client Perl module quite frequently. This module is based on JIRA’s SOAP API.

Recently it came to my attention that Atlassian deprecated their SOAP API in JIRA 6.0 and will be removing it altogether in JIRA 7.0 (see here). Anyone who is still using the SOAP API is encouraged to migrate to the REST API.

Specifically for the JIRA::Client module, an alternate module, JIRA::REST, is now available, providing similar functionality.

So if you’re using any SOAP-based access to JIRA, it’s time to move on…

cmd /c doesn’t like quotes

I was quite baffled at first.

This works:

cmd /c "C:\Program Files\7-Zip\7z.exe" C:\Temp\MyFile.7z

But this fails:

cmd /c "C:\Program Files\7-Zip\7z.exe" "C:\Temp\My Other File.7z"
'C:\Program' is not recognized as an internal or external command, operable program or batch file.

Turns out it’s an issue as old as Windows 2000.

The solution is to add another pair of quotes around the entire command:

cmd /c ""C:\Program Files\7-Zip\7z.exe" "C:\Temp\My Other File.7z""

Thank you, Microsoft.