473,396 Members | 1,895 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Compile code at runtime & Add Reference & FileNotFoundException

I have a text file which contains VB.NET code. The VB.NET code is actually a
Class that can contain code, which simply displays a message box or does
something more complicated (i.e Excel/Word Automation, communicate with the
DB and/or WebServices, talk to other classes). To achieve a complicated task,
this class would need reference to other custom assemblies (not part of .net
framework) that are possibly not installed to the GAC.

In my application, I use the System.CodeDom.Compiler.ICodeCompiler's
CompileAssemblyFromSource method to compile the text file code into an
assembly. Before the new assembly is created, I use the
ReferencedAssemblies.Add method to add reference to all the DLL files needed
by it. The ReferencedAssemblies.Add method is given the full path to a DLL
file, but the full path is a directory other than the main application's App
Direcotry(=where the Main.Exe is run from). For assemblies that are in the
GAC (such as System.dll and System.Windows.Forms.dll) this works fine; the
text file source code compiles without errors and I can call its methods,
etc. When adding reference, a full path is also specified for custom dll
files, but I get an FileNotFoundException. If I place the Custom Dll files
int the App Directory I do not get an exception and the source code compiles,
but this is not a feasible option.

I've tried setting the CompilerOptions parameter to the full path from
above, but that directory is not even probed. The property is set as follows:
cpCompilerParameters.CompilerOptions = "/lib:D:\Reports\CustomFiles\". Is
this the correct way of doing it?

Are there any other mechanisms by which I can tell the Main application
where to probe for these custom dlls?

Thanks for your help.
Norm
Jul 21 '05 #1
1 2916
Hi,

I'm also using the CodeDOM namespace and perform runtime compilations.
I ran into this exact same problem, only my DLLs were placed in the
same folder as the executable, but it still failed. What I did was to
get the full path of the executing assembly and concatenate it to the
dll name. This solved the problem.

I know that you've written that this is not an option (placing the DLLs
in the same folder as the executable), but I've listed it anyway to
share with you the information that at least a full path is supposed to
work (worked for me...).

BTW: I have not set the compiler options at all in order to achieve
this effect, as you demonstrated.

I'd check the Compiler Errors collection, if you haven't already done
so. Maybe you'll find somehow the actual path it _is_ looking for, and
then you'll figure out what your problem is.

One more thing - is it possible that you're placing the DLLs on a
mapped network drive or something like that ? Did you try placing the
DLLs in an actual local hard drive directory ?

Another advice - you mentioned that if the DLLs are placed in the
executable's folder, it compiles ok. Try placing it there, but specify
the full path name anyway - is it still working ?

Jul 21 '05 #2

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

Similar topics

0
by: John Doe | last post by:
Hello, I'm currently working on a little tool that would benefit from having a little embedded script language. Although I have C++ source code available for such a script language, I have 2...
4
by: Lowell | last post by:
Any tips for trouble shooting errors when the ASPX page won't even compile? What happens is that VS will "build" the code-behind object and the component that it instantiates, but when I navigate to...
16
by: Brad | last post by:
After compiling my asp.net project I'm receiving a "BC31011 - Access is denied" error when attempting to run or debug. The only thing that seems to resolve problem is IISReset. After a reset my...
1
by: normd | last post by:
I have a text file which contains VB.NET code. The VB.NET code is actually a Class that can contain code, which simply displays a message box or does something more complicated (i.e Excel/Word...
2
by: Lonewolf | last post by:
hi all, I realize the example on MSDN for IPCChannel has compile error in VS2005 pro. Either I'm missing something or there's something seriously wrong with MSDN on that section. I reproduce the...
7
by: wei8010 | last post by:
int fun() { static int x = 1000; return 0; } int main( int argc, char* argv ) { cout<<x<<endl; }
16
by: desktop | last post by:
I have read that using templates makes types know at compile time and using inheritance the types are first decided at runtime. The use of pointers and casts also indicates that the types will...
3
by: Jennifer | last post by:
I've been working with an Access 97 application, through various versions, for 10 years. This application runs asan mde in runtime mode on hundreds of PCs around the globe. About a week ago I...
18
by: Verde | last post by:
I would appreciate your comments on the following two alternatives of a given method. This isn't a real method, as I'm not concerned about the "real work" it could be doing, but would like to...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
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,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
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,...

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.