nuget.exe in Visual Studio 2017 verwenden

In früheren Versionen von Visual Studio konnte ich nuget Packages erzeugen, indem ich ein Post-Build-Ereignis hinzufügt, das das alte Paket löschte und ein neues durch Aufrufen von nuget.exe erzeugte:

nuget pack "$(ProjectPath)"

Das hat mit einem Mal in Visual Studio 2017 nicht mehr funktioniert. Stattdessen begrüßte mich ein Fehler #9009 in der entsprechenden Zeile, was bedeutet, dass nuget.exe von Visual Studio nicht gefunden werden konnte. Ich kopierte die neueste Verson von nuget.exe in C:\Windows\System32 und konnte das Programm auch erfolgreich von der Windows Console aufrufen. Aber was soll ich sagen? Der Fehler in Visual Studio kam immernoch. Auch in der Visual Studio Nuget Console.

Langer Rede kurzer Sinn (und Facepalm): Da Visual Studio ein 32-bit Programm ist, muss nuget.exe natürlich in C:\Windows\System32\SysWOW64 um es zum Laufen zu kriegen…

Windows PATH revisited

Previously I wrote a post about making sure the Windows PATH environment variable doesn’t exceed a certain length.

I found out it’s possible to use other environment variables to help you shorten the path. For example, you could store the C:\Program Files (x86) prefix in a new environment variable name PA1 and the C:\Program Files prefix in PA2.

You can then write %PA1%\Microsoft\… instead of C:\Program Files (x86)\Microsoft\… in your PATH variable.

NOTE: The new environment variables must be parsed by the system before the PATH variable, which also means they must appear before PATH when sorted alphabetically.

Determine 1st of month

Sometimes you need to get a DATE that is the first of the current month in Microsoft Dynamics NAV. This is not as trivial as it may sound, but the following command does it:

CALCDATE('<CM+1D-1M>')

This date formula gets the current month (that’s always the last day of the month in NAV), adds a day (so we are on the first of the next month) and subtracts a month. Here you go.