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…

Notes about System.Threading.Timer

You can fail to pass a state object to a System.Threading.Timer – you won’t see any values if you pass the instance to the timer’s constructor before initializing the values, as obviously a copy of the object is created.

The following does not work:

The timer will use 0 for object.Number.

The following, however, works as expected:

Same column widths in WPF ListBox

You can use ItemTemplate to style the appearance of entries of a ListBox for example. Sometimes you want to use a Grid, and you want the column widths to be the same for all items of the ListBox. You can simply use the SharedSizeGroup attribute:

Don’t forget to set the Grid.IsSharedSizeGroup attribute to true for the ListBox.