Downloading the wrong builds on non-dev machines?

I think that I fall into the general category: "It works great in my development environment, but somewhere else I get strange results," and for all my efforts I am only more confused.

I have 2 applications. One of them is the .NET 4 C # application, and the other (I think) .NET 3.5 VB. The C # application creates a DLL, at the moment I have a version of this DLL compiled from 3.5 so that I can use it in my VB application. I have a VB application source but not a C # application. I have never compiled a C # application on my machine.

Inside this DLL, it refers to a C-based library. (I feel this is a problem.)

In my dev environment, I can use this DLL without any problems in my VB application. However, when I try to do this setup on another machine, it acts as if the bits related to this C-based embedded DLL are not the latest version.

  • gacutil confirms c # dll not coming from gac
  • FUSLOGVW confirms that the full name of the C # DLL link is the same in both dev / non-dev environments
  • In my VB application and inside my app.config, I explicitly declare the name, token, and version of the C # DLL.
  • In my VB application, following the link to this DLL, I have "Copy local" and "Specific version" set to False
  • Even when copying my DLL to CC and the C # DLL to the target machine, a bad mention still occurs.
  • Even downloading applications again on the new system ... a problem arises.

It is not that I get errors. The VB application is still working fine. The VB application creates an instance and uses this C # DLL (inside which there is a C DLL), and I see that inconsistencies from the VB application are problems with the C DLL. I have never had the source code for a C # application on my machine, and therefore I don’t know why it works on its own, but not elsewhere.

I feel that I have reached the end of the fact that I know little about it, and I can’t go anywhere else. I really feel that I should be able to re-create a working environment on other machines.

What else can I see?

Edit

I thought I could add more specific information in the hope that this would lead to a solution. I have currently updated the VB code to work with different values.

This image represents the values ​​returned by one of the C-DLL methods on my machine. alt text

Everything looks as it should. Then I take my DLLs and executables to a new machine, run it, and these same elements are displayed as:

alt text

I checked the GAC several times. I stared at the loaded build logs for several hours, only to notice that the same (correct) DLLs were loading in both environments. I guaranteed that the same MS updates are installed on both computers. I deleted all third-party DLL files from both environments that are used in the project and reloaded them for both.

At this moment, I do not know what causes this. There are no errors. It works as happily on all machines as it does on my own, but I am fully convinced (perhaps having my own inability to see the real problem) that my development machine is creating / "something", I can’t move around, change the link etc. I just now feel that I have exhausted my limited knowledge on this issue.

Oh, last, DLLs were provided to me from VS2010. Tomorrow I will have 2010, and I hope to use the regular .NET 4 library instead of 3.5, which I requested. This is currently my last hope to fix this problem without changing the VB code.

Any ideas?

+4
source share
1 answer

Sorry, if I missed something, but you thought that these could only be formatting settings, and not different results? From your example, I can only see the same results that are displayed in two different formats (one with two fixed decimal places, and the other only the corresponding numbers). If you check your code, if the upper value == 2.0, it should be true on all computers, and if so, the DLL returns the same values ​​on all computers, and they appear only in different ways (maybe the settings of the computer’s locale differ? )

0
source

All Articles