Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 181
  • Last Modified:

Using a DLL for develpment and software execution

Hi All!
using c# in any environment how could i know if a DLL is being used for development or for software execution?
0
FLUXWIRE
Asked:
FLUXWIRE
  • 7
  • 6
  • 2
1 Solution
 
angus_young_acdcCommented:
Not quite sure what you mean, do you mean being used in your project?  Or somebody elses .exe?

To check in your own just have a look at the using statements (will say the likes of using yourDLL;) and the references in your Solution Explorer.  Plus in the code, if you know a function, you can try calling it.   For example:

YourDLL function = new YourDLL();
function.WhateverItIsCalled();

A simple way to check in another program is to remove the DLL and then try and run the program, if it relies on it then it will not work :)
0
 
AlexNekCommented:
Install depency walker and press right mouse button over an exe. I'll see all DLLd ise for the Exe.
http://www.dependencywalker.com/
Or you want to know is is Debug or Release version of DLL?
0
 
FLUXWIREAuthor Commented:
Example:
i wrote an dll and some developers using it to develop a new system. After the system is finished, the dll is deployed to the new customer.

How to know if this dll is being used by developers or by customers? There is some difference between this two envrionment?
thx in advance.
0
 [eBook] Windows Nano Server

Download this FREE eBook and learn all you need to get started with Windows Nano Server, including deployment options, remote management
and troubleshooting tips and tricks

 
AlexNekCommented:
It depends how you deploy it. It is a good practice to write version, release date, DLL build date-time into a table, together with release notes.
0
 
FLUXWIREAuthor Commented:
thx for you answer. But...
you are saying that using the assemblyinfo.cs i could distinguish between different uses of the dll. How? could you be more detailed?
0
 
AlexNekCommented:
I mean something other but you can change some text for coustomer if you want
assembly: AssemblyDescription("....Customer version")]
0
 
angus_young_acdcCommented:
That doesnt say if the dll is being used though, that is just versioning.  
0
 
AlexNekCommented:
>That doesnt say if the dll is being used though, that is just versioning
Yes, we need something, "to mark" customer version.
Personally we using special rules for testing and deployment DLLs.
0
 
FLUXWIREAuthor Commented:
Hi.
Then! how could the customer dll be marked?
What kind of rules and how it works?
I think we are closer.
0
 
AlexNekCommented:
>how could the customer dll be marked?
As I wrote you can add some text or use special build number like 999.

>What kind of rules and how it works?
We produced customer DLLs only on the "build" computer from Source Safe and only by one responsible staff.
After end testing we sending new build to the customers and storing files on the shared directory for all developers. All developers must to use actual build for they needs. If one of the developers need to change a DLL, he can do it locally. After testing he send the note in the QA about changes made and checked in sources. If changes are accepted by QA then we ready to make a new build. We don't make new build after every changes but once a day for developers and on release date for the customers.
So as you see it is impossible to have a developer build for customer and developers always use actual build. In case of hard bug developer can copy last customer release.
0
 
FLUXWIREAuthor Commented:
ok. let me understand it.
0
 
FLUXWIREAuthor Commented:
Hi! You are saying that this is an administrative process right|?
There is some way to do it autommatically?
thx in advance.
0
 
AlexNekCommented:
You can "mark" customer DLL automatically. If you describe your situation more detailed possible we can found the better way for you. What I personally dislike that customer recieive something "automatically".
0
 
FLUXWIREAuthor Commented:
ok. this is not the dll that is a customer system. it is a dll that we use to develop system and of course it must be present when the system (another dll) is executing. This is the dll that we must control their usage.
0
 
AlexNekCommented:
For me if a DLL must be sent to customer it is customer build. It is not depends how important it is.
It is a pity but I can't see a problem with custom and developer build. it is really hard to mix i .e. send to customer developer version of DLL.
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

  • 7
  • 6
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now