On package update NuGet silently overwrites some files. Consider You have something like this in Your nuspec file:
<file src="MyPackage\App.xaml.cs.pp" target="content\App.xaml.cs.pp" /> <file src="MyPackage\App.xaml.pp" target="content\App.xaml.pp" />
Consider the user changed App.xaml.cs but didnt changed App.xaml. In this case when user updates Your package the App.xaml.cs file will be silently overwritten!
After a short search session on the net I found a same problem without any solutions. So here is mine install.ps1 with a workaround:
param($installPath, $toolsPath, $package, $project) $appXamlFileName = $item.Properties.Item("FullPath").Value Add-Content $appXamlFileName "<!-- this comment added by nuget package's install script to modify this file to workaround bug which overwrites App.xaml.cs file on next package update if this one isnt modified -->"
On update NuGet will detect that App.xaml changed and will skip it AND App.xaml.cs file too!