问题
I have a ClickOnce application (app1) that calls DLL files from another solution (app2). I recently updated this application at one customer and a strange thing occurred.
He got the new version (publish version was correct in Control Panel/Add or Remove Programs) of app1 and the application version was correct as manually inspected in the application. But the DLL files called from the referenced solution (app2) was still the old ones.
We deleted all files in C:\Documents and Settings\username\Local Settings\Apps\2.0
and installed again. This time there was no problem, the correct DLL files were called.
One thing to mention is that the version numbers are completely different in the new version since we changed this while upgrading from Visual Studio 2005 to Visual Studio 2008. Old / new published version: 1.0.0.6 / 1.9.1.6.
回答1:
This appears to be a bug in .NET Framework 3.5 SP1.
http://support.microsoft.com/default.aspx/kb/971052
I fixed it by:
- Clearing the .NET Online Cache from a command prompt: “rundll32 dfshim CleanOnlineAppCache”
- Deinstall all .NET-applications that could have a reference to the same problematic assembly.
- Install all applications again.
来源:https://stackoverflow.com/questions/792447/net-clickonce-deployment-and-wrong-assemblies-called-after-updated-version