tags:

views:

27

answers:

2

Hello, i have a strange problem with a VB.Net Windows Application. On my computer(the development PC) it executes the newest version of the exe and dll's but on the computer of my fellow(he is not a developer and cant debug it) an older version is executed. He has overwritten all files with the new version:

alt text

I dont know where to start looking for the reason.

EDIT: the first thing i've done was to restart the pc of my fellow but that was of no use.

When is a dll installed in the global assembly cache? Because i've searched for it in the gac with gacutil.exe but not found:

C:>C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\gacutil.exe /l Rule.dll Microsoft (R) .NET Global Assembly Cache Utility. Version 1.1.4318.0 Copyright (C) Microsoft Corporation 1998-2002. All rights reserved. The Global Assembly Cache contains the following assemblies: The cache of ngen files contains the following entries: Number of items = 0

I've also looked into the assembly folder but not found any of these dll's there.

Additional info: one of the dll's is loaded dynamically in the codebehind: System.Reflection.Assembly.LoadFrom("Rule.dll") The others are referenced in the particular project.

+1  A: 

When you say that he's overwritten all versions, are you really sure about that? For example, is it possible that there's a version in the GAC that he don't find if he just do a search on the filesystem?

ho1
Thanks. When is a dll installed in the global assembly cache? See my updated question.
Tim Schmelter
@Tim: They are normally installed with either GacUtil or just dragging and dropping them to the `Assembly` folder using Windows Explorer. You can browse the `Assembly` folder as well using Windows Explorer so might be worth doing that to make sure that it's not there. The folder is in your Windows directory.
ho1
I've looked already in the Assembly folder but not found any of the dll's there.
Tim Schmelter
@Tim: You probably have to go through the link in David M's answer and see if that information can help you find it, and here's another link with a very detailed workshop that might help as well: http://www.grimes.demon.co.uk/workshops/fusionWS.htm.
ho1
+1  A: 

ho1's answer may well be all you need, but to find all the possible causes for this, you will need to look into the whole subject of assembling binding in .NET. There are various factors that can influence where and what .NET looks for in finding a particular assembly, including assembly binding redirects and publisher policies. Here's one article that explains some of this topic:

http://www.techbubbles.com/net-framework/assembly-binding-in-net-framework/

If you Google, you'll find many more.

David M