473,847 Members | 2,002 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Linking problem

I have a VS.Net solution that contains various projects. Some of the
projects contain programme blocks (legacy code) that are used by some of
the other projects.
One project contains some C code (managed and unmanaged) that uses
external libraries (GNU Scientific Library). These external libraries are
linked to in the Properties->Linker->Input page and the linking so far has
worked fine.
I just wrote a C# web application that references some of the other
projects incl. the project that I just mentioned. When I build the web
application, it copies over the dll's from the projects that are being
referenced by it but NOT the external libraries that are explicitely being
linked to in the C project that I described above. Does anybody know why? I
can copy the libraries by hand but I don't think that should be necesssary.
I also tried to reference those external libraries separately in the web
application project but that fails completely (I get an error "not a valid
assembly or COM component") - beats me why/how. So how do I make sure those
external libraries get copied and used properly?

- Joerg Colberg
(co*****@bruno. phyast.pitt.edu )
Nov 18 '05 #1
2 1443
Hi Joerge M. Colberg,

I am not that sure what you meant. I do assume this.

1) You had a big solution in .NET called ParentSolution.

2) 1 project that contains C# ASP.NET Web Application called SolutionA.

3) Inside the same ParentSolution, you had unmanaged C projects called SolutionB.

4) In SolutionB, you actually made references to other dlls or libs.

Overview:

ParentSolution
-> SolutionA
----> references to managed dll
-> SolutionB
----> link to unmanaged dll

Okay, actually i think you will have problems to get unmanaged C to work with .NET projects. 2 possible solution.

a) Port the SolutionB from C to Managed C++. But again there is still some problem, you had to port all possible dll to managed environment. Tough time.

b) From SolutionA, use platform invocation (P/INvoke - using dllimport) to call the SolutionB (make it a dll). Within SolutionB, it will reference other unmanaged dlls.

I had tried this way, and it works entirely fine in C# windows app.

My experiences:

MainSolution
--> C# Class Library
----> References to managed dll, like System or custom made managed libraries
----> Use P/Invoke to call c dll. In the c dll, actually i calls other dlls as well.
--> C# Windows App (tester app)

There might be some performance drop down. But it works fine.

Hope it works. Correct me if i am wrong. Thanks.
-----
Regards,
Chua Wen Ching :)
"Joerg M. Colberg" wrote:
I have a VS.Net solution that contains various projects. Some of the
projects contain programme blocks (legacy code) that are used by some of
the other projects.
One project contains some C code (managed and unmanaged) that uses
external libraries (GNU Scientific Library). These external libraries are
linked to in the Properties->Linker->Input page and the linking so far has
worked fine.
I just wrote a C# web application that references some of the other
projects incl. the project that I just mentioned. When I build the web
application, it copies over the dll's from the projects that are being
referenced by it but NOT the external libraries that are explicitely being
linked to in the C project that I described above. Does anybody know why? I
can copy the libraries by hand but I don't think that should be necesssary.
I also tried to reference those external libraries separately in the web
application project but that fails completely (I get an error "not a valid
assembly or COM component") - beats me why/how. So how do I make sure those
external libraries get copied and used properly?

- Joerg Colberg
(co*****@bruno. phyast.pitt.edu )

Nov 18 '05 #2
>Hi there,

I am not that sure what you meant. I do assume this.
1) You had a big solution in .NET called ParentSolution.
2) 1 project that contains C# ASP.NET Web Application called SolutionA.
3) Inside the same ParentSolution, you had unmanaged C projects called
SolutionB.
Well, almost. SolutionB is a managed C++ project that, however, calls
some unmanaged code (that lives in a dll). I'm not sure whether this
changes the solution you're suggesting.
b) From SolutionA, use platform invocation (P/INvoke - using dllimport) to
call the SolutionB (make it a dll). Within SolutionB, it will reference
other unmanaged dlls.


I'm assuming with the little change that I indicated above this
would be modified somehow, would it?
The problem also is not that the whole process doesn't work. The solution
builds fine when I run it using a little console application (also written
in C#). But when I integrate the whole thing into a C# webservie, the
unmanaged C code (the dll) doesn't get deployed properly.

Best,
Joerg

Nov 18 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1732
by: Wolfgang | last post by:
I have a problem with linking my CPP Code under a irix6 machine (sgi, UNIX). In my CPP code I use some Functions which are written in Python. So its a kind of CPP wrapper for my Python functions In my Python Code I use threads to communicate over the network and stuff like this. Compilation and linking are working very well under Windows and Linux with the same code. Under the sgi, UNIX machine some errors occur and I don't no why....
27
3116
by: Lee Phillips | last post by:
I believe it is universally accepted that decorating your website with images from someone else's, without permission, is rude and unethical, even if the images are in the public domain, because to do so is to steal bandwidth. But I have run across a situation where people are linking to other types of resources that I offer on my website without my permission, and I was interested to know if there is a consensus on the ethics of this...
0
2251
by: gasturbtec | last post by:
please help im new at access programming and i just got this project dropped in my lap because the old programmer quit. i've been doing ok so far but now i need to add code to an existing database that is used to connect to other databases and generate reports. below is sample code of how the database does the linking i hope i give you enough info to help me but if not let me know and i will give more. Sub txtShipDataFileSub() Dim...
18
3097
by: Mark P | last post by:
I have a bit of vb code that uses Tables.Append to programatically link tables from Oracle and DB2 datasources. The problem I am having on some client machines is that the link will take anywhere from 1 to 3 minutes to link the table. When I manually link the tables,through Access, it takes no time at all. Note that only certain client have the problem, and the problem will sometimes go away. These clients will usually get an ODBC Call...
17
7021
by: Mitas Nikos | last post by:
I am trying to use the library conio2 and though I have managed with a few relatively simple examples when i try to compile a program which conio's function clrscr is not in main() i get an error from the linker. undefined reference to `clrscr' ld returned 1 exit status I include the conio2.h on top of the file where clrscr() fn is. How do I pass the -lconio parameter when I have multiple files?Isn't it:
1
2253
by: buchalino | last post by:
Hi Guys, Please can someone help me, I am having a linking problem . I am writing a socket program, the problem is just the linking . I am using VC++ In the process of the problem, I installed the MSDN service pack, but not sure if it has a specific directory to be installed in.
5
2060
by: news.microsoft.com | last post by:
We have recently upgraded from VS2002 to VS2005 and I'm having a problem with the linker always performing a full link even though nothing has changed. In searching the newsgroups I found that I could add "/test" to the linker options and it would tell me why it was causing it to re-link (full link). This is what I get. Linking... LINK : file alignment: 512, section alignment: 4096 LINK : LINK options changed; performing full link LINK...
13
6530
by: 7stud | last post by:
test1.py: -------------------- import shelve s = shelve.open("/Users/me/2testing/dir1/aaa.txt") s = "red" s.close() --------output:------ $ python test1.py
0
3990
by: xieml2007 | last post by:
Dear Madam or Sir, I encountered one problem which is quite similiar to the discussions launched at the web site: http://www.thescripts.com/forum/thread280324.html
4
8072
by: naveenmurthy | last post by:
Hello All, I have created a .mht file in following format. 1. The .mht file contains following htmls. a. MHTLinkingProblem.html b. Left.html c. Right.html d. Start.html
0
9887
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9730
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10984
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10650
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9485
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7883
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
7056
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5720
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5912
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.