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:DevTAToolsFxCopfxcopcmd.exe.Config LOG: Using machine configuration file from C:WindowsMicrosoft.NETFrameworkv2.0.50727configmachine.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