This thread looks to be a little on the old side and therefore may no longer be relevant. Please see if there is a newer thread on the subject and ensure you're using the most recent build of any software if your question regards a particular product.
This thread has been locked and is no longer accepting new posts, if you have a question regarding this topic please email us at support@mindscape.co.nz
|
Hi - I've got a recent nightly build of LS 3.1. Running CodeAnalysis over the assembly which references LS gives me this warning x 10 (1 warning per LS ref - eg Firebird, Lucene, Memcached, etc): Warning 1 CA0060 : The indirectly-referenced assembly 'AWSSDK, Version=1.0.7.0, Culture=neutral, PublicKeyToken=cd2d24cd2bace800' could not be found. This assembly is not required for analysis, however, analysis results could be incomplete. This assembly was referenced by: C:\Dev\Xero\xero\bankfeed\trunk\libraries\3rdparty\mindscape\Mindscape.LightSpeed.dll. BankFeedService Apart from referencing into my project all 10 indirectly referenced assemblies, any other way of removing this warning? It doesn't seem to get treated like all other CodeAnalysis warnings (ie no options to add to globalsuppressions)...
justin |
|
|
According to the docs for CA0060, "In all cases, the resolution for this issue is to add the missing reference to the Visual Studio project itself." SuppressMessageAttribute doesn't seem to be allowed because this is FxCop complaining about its own problems rather than about a problem in your code. A workaround to avoid having the dependencies in your own project would be to use a post-build action to copy the extra DLLs to the project output folder. This enables FxCop to find the DLLs without your own assembly incurring a dependency on them. Obviously you still end up with unwanted DLLs in your output folder though. |
|
|
yeah, that's pretty much what i was trying to avoid. never mind - i was actually just curious whether the 3rd party references were baked into the LS assembly only in the pre-release builds or whether they'll always be there. have reflectored the proper 3.1 release and they're obviously still there... i just don't remember those warnings appearing in previous projects - maybe i just never got around to actually looking at codeanalysis results properly before. :| |
|
|
The difference may be VS2010 vs. VS2008: VS2010 seems to report CA0060 whereas VS2008 did not. |
|
|
happily, if you simply copy the provider dll into the directory that has the LS assembly then CA0060 disappears. You don't have to actually ref the assembly in the proj - i guess codeanalysis is happy to just look in the same dir as LS for its referenced assemblies.
so - not immediately obvious from the documentation - the location of the providers for vistadb, ibm.db2 and firebirdsql? i'm guessing i'll just pull these down myself... |
|
|
um, finding those providers is not particularly easy. i've got the latest firebirdsql dll but looks like LS wants v2.1 specifically - and i can't see that version on sourceforge. also tried to find the ibm and vistadb providers - not immediately obvious.
any chance you're able to copy out the versions of those assemblies that LS was built against? thanks :) |
|
|
Here are the DB2 and Firebird DLLs. (I haven't included *their* dependencies -- hopefully FxCop isn't going to insist on chasing them down.) Unfortunately, I'm not sure whether we can post the VistaDB DLLs. The VistaDB.20 DLL is the old free edition, but I'm not sure what the redistribution terms were on this; the VistaDB.4 DLL is commercial, and I don't think we're licensed to redistribute the runtime. I will pass this over to our legal team for further investigation but for now I fear you may just have to live with the VistaDB warnings -- sorry. |
|
|
if only i had searched locally first. *ahem*. look in c:\program files (x86)\mindscape\lightspeed\tools\designer\ and there's the vistadb.net20 dll. also got a trial version of vistadb.4 - as long as it doesn't get loaded into memory then we should be fine even once the trial expires. so - all warnings gone - just need to track down and then keep local copies of all LS dependencies in the directory holding the LS.dll and all is fine. :) |
|