CA0060

Applies to: yesVisual Studio noVisual Studio for Mac

Note

This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

Unable to load assemblies referenced indirectly.

This warning occurs if the analysis tool is unable to load assemblies that are indirectly referenced by the assembly under analysis. An "indirect reference" refers to a reference assembly that one of your analysis assembly's assembly references refers to. For example if code analysis (FxCop) is analyzing assembly A, and assembly "A" references assembly "B", and assembly "B" references assembly "C" but "A" does not reference assembly "C", then assembly "C" is an indirect reference and assembly "B" is a direct reference.

The inability to load assemblies might cause error CA0001 in other places, because unexpected states can result. If you are using the managed code analysis tool from within Visual Studio, the following are some of the reasons that might cause CA0060 warning:

  • The input assembly was overridden and now points to an assembly that references other assemblies outside the list of references in the Visual Studio project file.

  • If a project is modified to invoke a custom build step before FxCopCmd.exe runs and the custom build process adds more references to the input assembly and warning CA0060 is generated.

  • In C++, you can reference assemblies by using ForcedUsing in VCPROJ, overriding the command line to pass /FU or adding #using <Some.dll> in source only.

  • A third-party assembly that has some private references to other assemblies that you do not need in order to compile and run your code.

In all cases, the resolution for this issue is to add the missing reference to the Visual Studio project itself.

See also