Re: Fwd: download latest 2.4.7 zip has problem?
"Dean Hiller" <[email protected]>
| Newsgroups | gmane.comp.windows.dotnet.nunit.user |
|---|---|
| Message-ID | <[email protected]> |
the netmocklib cvs module is all cs. The mocklib module is all java. you got the below exactly correct. At NUnit time, I want all the *'s to run. At application deploy time, only dlls in outassemblies are needed. is there some kind of tutorial on this probing(I am a newb to this and keep searching but don't get how it works). Also, does this 'probing' go in the nunit-console.exe.config file? If so, why isn't it already there specifiying the framework.dll that comes with nunit(I am newb and just trying to understand more here). dean 2008/4/12 Charlie Poole <[email protected]>: > HI Dean, > > Assuming you have a common root directory, your structure would look like > this... > > root > input > NMockLib > LibInclude > LibExclude * > output > outAssemblies * > testAssemblies * > > From your note, it appears as if you want to use assemblies from the > directories marked with > a * at runtime. To do that, your Application Base should be root, with the > private probing path > set to the relative path to the three directories in question. > > I'm not sure I got this right, however, since you said LibExclude was not > needed at runtime. > > A basic question, which might help us help you: what does your application > do? > > BTW, you sent me a link to a SF project by email, but all the files listed > are Java. > > Charlie > > ------------------------------ > *From:* [email protected] [mailto: > [email protected]] *On Behalf Of *Dean Hiller > *Sent:* Friday, April 11, 2008 5:56 PM > *To:* [email protected] > *Subject:* [Nunit-users] Fwd: download latest 2.4.7 zip has problem? > > continue discussion on mailing list. Lets say I have a the following > directories at output time by nant > > 1. input/NMockLib (contains the cs source files) > 2. input/NMockLib/LibInclude (contains libraries needed to run live dll at > deployment) > 3. input/NMockLib/LibExclude (contains libraries needed to compile but not > run at deployment. This includes NUnit and any platform libraries as > well-if a platform is used) > 3. output/outassemblies (contains the product to be deployed) > 4. output/testassemblies (contains the test assembly that was generated) > > Nant generates 3 and 4. This is pretty much a port to .NET from the > buildtemplate project so you can unzip and start programming immediately > without needed to set up your builds. Naturally, I don't want to copy the > framework.dll to output/testassemblies every time I build and really just > want to put it in the path(though C# has no path). This may be more of a C# > question now then a NUnit question, but I ran into the issue first with > NUnit. How do I make it so when nant runs nunit, it is using the dlls from > testassemblies dir, outassemblies dir, AND input/NMockLib/LibExclude dir. > My hack solution could be to copy all outassemblies dir to the > testassemblies directory and copy all the LibExclude libraries to the > testassemblies directory though this seems like a major hack. I am pretty > sure the GAC is NOT a solution to this because if another developer checks > out NMockLib, it won't work until he installs it in the GAC then.....the > idea is to make it so once a developer installs, .NET SDK and NOTHING more, > he can check out NMockLib and run the build....no need to install fxcop, no > need to install NUnit, etc. etc. > > I guess I will go with the hack of creating the testassemblies directory > but this really just seems like a hack to me. > thanks, > dean > > > > > > ---------- Forwarded message ---------- > From: Charlie Poole <[email protected]> > Date: 2008/4/12 > Subject: RE: [Nunit-users] download latest 2.4.7 zip has problem? > To: Dean Hiller <[email protected]> > > > Hi Dean, > > Here was my experience today...... > 1. download nunit(in java junit) > 2. unzip the zip(ps. I love that you have zips now instead of > installers!!!!) > 3. compile dll against the assemblies(or jar against the jars). > 4. execute NUnit(in java JUnit) > 5. load assembly(in java the jar) > 6. NUnit fails....JUnit passes in same scenario with no need for anything > since framework is part of the path. > NOTE: In both cases(java/C#), the dll/jar created naturally was not > copied to the NUnit directory. > > This seems like a pretty nasty user experience for first time users. Can > we get this functionality changed? > > You'll have to provide more info. With the volume of mail I get, > downloading an working with your project isn't > really practical. What I suspect here is that you are running into the > somewhat fundamental differences between > Java's path-oriented location of jar files and .NET's mechanism based on > the AppBase. > > I'll try to answer you as best I can below, with the info you have given > me, but the best way to proceed here > is to move this discussion to the mail list where there might be some > other people with time to download > and work with your project code! > > Alternatively, file a bug report with the info needed to resolve this as a > bug. I can see from your description > that you aren't having a great user experience, but I don't actually know > what assemblies are in what > directories. My suspicion is that you simply are not following the rules > of .NET assembly loading. > > Also, this makes another open source project I am trying to port from Java > more difficult...*..(buildtemplate.zip)...you unzip and it has nant, > nunit, fxcop, etc. etc. all ready to go.*..no need to do any setup at all, > just run build.bat and it runs all the tools...*great for first timers*. > I can't seem to get it all working in C# though. It's on sourceforge. > > Ideally, I want all output assemblies for production in > outassemblies--though I stuck the test.dll there too to get it working :( > ...now I have to drag the NUnit framework there too it seems, ugh. I > really want a testassemblies directory separate from outassemblies. > testassemblies would have only my test dll AND I don't want to copy the > framework.dll there...that seems pretty lame(sorry, I come from java and > just throw things in the path variables with ant). > > The framework assembly must be in the same location as the test assembly, > or in some other location where .NET knows > how to find it. Since there is no such thing as a .NET path, the only > alternative would be to put it in the GAC. You could > do that in your install, although NUnit no longer does it because of other > problems that arose. > > So is there any way to get nant to throw framework into the path for the > testassembly and for that matter throw the system in the path of the test > assembly. That would make the nant builds much cleaner. > > I'm not clear if you are trying to test your own application, or if your > application does something to provide testing > to users. If it's the first, the normal way to do it is to copy the > necessary assemblies to the proper location. For example, > if I want to use log4net, I must copy that assembly to my bin directory - > there is no other option. If it's the second, then > it's up to your users to do that, or you may choose to do it for them. > > It could be that I am not fully understanding you. That's why I encourage > you to go back to the mailing list, where > other people can also contribute ideas. I'll continue to answer you as > well - in fact, I usually answer the mailing list > questions first! > > Charlie > > > > > thanks, > dean > > 2008/4/11 Charlie Poole <[email protected]>: > > > Hello Dean, > > > > Where is the nunit.framework.dll with reference to the Test.dll. Unless > > you have set up > > a probing path, it should be in the same directory. > > > > BTW, you should not be using core in your tests. All the types you need > > to refer to > > are in the framework assembly, and the presence of core could confuse > > things. > > > > Charlie > > > > ------------------------------ > > *From:* [email protected] [mailto: > > [email protected]] *On Behalf Of *Dean Hiller > > *Sent:* Thursday, April 10, 2008 10:21 PM > > *To:* [email protected] > > *Subject:* [Nunit-users] download latest 2.4.7 zip has problem? > > > > I download the latest NUnit and copy the dll's(Core and Framework) > > into my lib directory. I then try my nant build and use nunit.exe and when > > I open my Test dll, I get the following error.... > > > > system.IO.FileNotFoundException: <This is in chinese> "nunit.framework, > > Version=2.4.7.0, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77" <more > > chinese> > > > > I also use exec nant task for nunit so developers don't have to install > > nunit and I can upgrade nunit seamlessly without anybody knowing or > > caring(ie. nant and nunit are checked into my SCM). But, I get the > > following error..... > > > > [exec] Runtime Environment - > > [exec] OS Version: Microsoft Windows NT 5.1.2600 Service Pack 2 > > [exec] CLR Version: 2.0.50727.1433 ( Net 2.0.50727.1433 ) > > [exec] > > [exec] 未能加载文件或程序集"nunit.framework, Version=2.4.7.0, Culture=neut > > ral, PublicKeyToken=96d09a1eb7f44a77"或它的某一个依赖项。系统找不到指定的文件。 > > > > > > BUILD FAILED > > > > c:\AAROOT\areas\docutech\WebServicesChina\bldfiles\project.build(149,7): > > External Program Failed: > > c:\AAROOT\areas\docutech\WebServicesChina\tools\NUnit\n > > unit-console.exe (return code was -2) > > > > Total time: 2.9 seconds. > > > > > > > > What's wrong with the 2.4.7 zip file? Why doesn't it work? > > thanks, > > dean > > > > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Nunit-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/nunit-users > > ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ Nunit-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/nunit-users