jgauffin
jgauffin

Reputation: 101176

Dependency check

Are there any way to check if all dependencies required by a .Net assembly is fulfilled? It's on a production server and Visual Studio is not installed on it.

It's a .Net assembly which requires some GAC:ed components which are not included in the installation package.

Upvotes: 8

Views: 2851

Answers (4)

jgauffin
jgauffin

Reputation: 101176

Here are a simple tool:

enter image description here

http://www.amberfish.net/

Though it doesn't fully support x64. I'll accept any answer that has a similar tool but also supports x64.

Upvotes: 2

Alex Klaus
Alex Klaus

Reputation: 8954

ILSpy - an open-source .NET assembly browser and decompiler. It shows dependencies as well.

Decent replacement for Reflector which is not free any more.

Upvotes: 0

Lex Li
Lex Li

Reputation: 63289

Fusion log is one way, http://www.hanselman.com/blog/DetailingFailedAssemblyLoadsWithTheAssemblyBindingLogViewerTheFusionLogger.aspx

Another way is to install Debugging Tools for Windows on another machine with the same CPU bitness, and then copy the installation folder to this server. Then you can use WinDbg in it to easily troubleshoot such problems. Of course, this is not easy for beginners.

Upvotes: 1

Patrick from NDepend team
Patrick from NDepend team

Reputation: 13842

For the NDepend code base, we have no specific dependency in the GAC. However NDepend do check that all assemblies are well-deployed in the installation, at each NDepend execution. This way, if the user tweaked the installation (which DO happen, we notice) he gets a smart MessageBox explaining exactly what happen and why he should re-deploy NDepend. A lot of support has been saved thanks to that trick.

Our implementation is simply based on Mono.Cecil that does check that all assemblies are present in the the location it should, with the right assembly version. Doing shallow read on assembly is so fast with Mono.Cecil that doing so doesn't slow down the startup time.

Upvotes: 1

Related Questions