FWIW: Windows 7 64bit, Compact Framework v3.5, FxCop v1.36 (running fxcopcmd.exe)
I'm having problems getting FxCop 1.36 to run correctly. I'm analyzing a compact framework application with the globalization rules from http://www.dotneti18n.com/Downloads.aspx
the .exe that i am analyzing has a reference to a 3rd party control suite: resco.outlookcontrols.cf.dll. When fxcop runs and analyzes my app, it blows up saying that it cannot find this assembly. I've checked, re-checked, and check 30 more times that all of the assemblies needed to run the app are in the same folder as the one being analyzed - including the resco dlls.
using fusion log viewer, i'm able to get this information:
LOG: DisplayName = Resco.OutlookControls.CF3, Version=6.7.0.0, Culture=neutral, PublicKeyToken=7444f602060105f9 (Fully-specified) LOG: Appbase = file:///D:/Dev/TA/Tools/FxCop/ LOG: Initial PrivatePath = NULL LOG: Dynamic Base = NULL LOG: Cache Base = NULL LOG: AppName = NULL Calling assembly : (Unknown). === LOG: This bind starts in default load context. LOG: Using application configuration file: D:\Dev\TA\Tools\FxCop\fxcopcmd.exe.Config LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v2.0.50727\config\machine.config. LOG: Post-policy reference: Resco.OutlookControls.CF3, Version=6.7.0.0, Culture=neutral, PublicKeyToken=7444f602060105f9 LOG: GAC Lookup was unsuccessful. LOG: Attempting download of new URL file:///D:/Dev/TA/Tools/FxCop/Resco.OutlookControls.CF3.DLL. LOG: Attempting download of new URL file:///D:/Dev/TA/FxCop/Resco.OutlookControls.CF3/Resco.OutlookControls.CF3.DLL. LOG: Attempting download of new URL file:///D:/Dev/TA/FxCop/Rules/Resco.OutlookControls.CF3.DLL. LOG: Attempting download of new URL file:///D:/Dev/TA/FxCop/Rules/Resco.OutlookControls.CF3/Resco.OutlookControls.CF3.DLL. LOG: Attempting download of new URL file:///D:/Dev/TA/FxCop/Engines/Introspection/Resco.OutlookControls.CF3.DLL. LOG: Attempting download of new URL file:///D:/Dev/TA/FxCop/Engines/Introspection/Resco.OutlookControls.CF3/Resco.OutlookControls.CF3.DLL. LOG: Attempting download of new URL file:///D:/Dev/TA/FxCop/Resco.OutlookControls.CF3.EXE. LOG: Attempting download of new URL file:///D:/Dev/TA/FxCop/Resco.OutlookControls.CF3/Resco.OutlookControls.CF3.EXE. LOG: Attempting download of new URL file:///D:/Dev/TA/FxCop/Rules/Resco.OutlookControls.CF3.EXE. LOG: Attempting download of new URL file:///D:/Dev/TA/FxCop/Rules/Resco.OutlookControls.CF3/Resco.OutlookControls.CF3.EXE. LOG: Attempting download of new URL file:///D:/Dev/TA/FxCop/Engines/Introspection/Resco.OutlookControls.CF3.EXE. LOG: Attempting download of new URL file:///D:/Dev/TA/FxCop/Engines/Introspection/Resco.OutlookControls.CF3/Resco.OutlookControls.CF3.EXE. LOG: All probing URLs attempted and failed.
here's the part that is really frustrating me: the fxcop documentation (here http://msdn.microsoft.com/en-us/library/bb429449%28VS.80%29.aspx ) says that it will load up all referenced assemblies from either the same folder that the analyzed assembly is in, or from a folder referenced by the /directory: command line option.
it's not living up to the documented promises. the file does exist in the same folder as the one being analyzed and i have tried passing the folder in as a /directory: command line option. i've even set the AssemblyReferenceDirectories element in the .fxcop file. yet the only places that are searched, according to the fusion log, are the 'usual' locations for probing.
and fyi - i tried updating the 'probing' settings in the fxcopcmd.exe.config - won't work because the folder of the assembly being analyzed is not under the root folder of the fxcop tool, so it gives me a warning saying it won't be probed.
anyone else have this problem? anyone have a solution?
thanks