Denaes Posted April 25, 2005 Posted April 25, 2005 I have not installed Visual Studio 2005 B2 yet and I had a question. Can you target a framework other than 2.0? Such as 1.1? Or how about Mono? I'm running Visual Studio 2003 Enterprise at the moment and would like to use 2005 - but I'm going to be distributing the application for OSX as well, so I need to target Mono - but I'll also target 1.1 since thats about the equivilent to give PC users the option to use the normal framework. Quote
mskeel Posted April 25, 2005 Posted April 25, 2005 I don't think you can target Mono in any Microsoft product...but then again, I am using standard so maybe enterprise can. I would take a look at NAnt. Quote
Denaes Posted April 25, 2005 Author Posted April 25, 2005 (edited) I'm looking into NAnt now. It builds and targets frameworks. I assume it's easier than using the command line for the framework compiler. I know in VS 2003 you can target the 1.0 & 1.1 Framework - but no notice of Mono. Frankly I feel that MS would be smart to make use of Mono as it makes .Net multi-platform - an honest compeditor to Java. Strangely, what I saw from Mono it also compiles/runs Java as well. Edited April 25, 2005 by Denaes Quote
mskeel Posted April 25, 2005 Posted April 25, 2005 Yeah. It seems pretty cool. From everything I've seen and read, Mono is the virtual machine .Net needs to really go anywhere -- it would be a huge boost for Microsoft I would think. Getting closer to the subject, IL is IL no matter if it runs on Mono or .Net Framework 1.1. Mono is supposed to be designed and coded so that it runs as if you were on .Net Framework 1.1. Likewise with Mono2.0, anything that runs on .Net Framework 2.0 should run on Mono2.0 exactly the same. That said, you should still test....I don't trust any of it. Also, you can run Mono on windows the same as any other platform. This of course is assuming you are using completely managed code. NAnt is a little complicated at first but it is based on the Ant tool made by Apache. Basically, it is an advanced Make. In the long run, esspecialy if you have a medium/large+ project, you'll be better off with NAnt (over raw command line) becuase it is cross platform and you can automate it to do all kinds of advanced things (nightly build, build then test, build and test on commit to CVS, etc..). A lot better than hitting the F5 key all the time, esspecially if it takes more than 20 minutes to build something. There's a lot of documentation and a few books that have been written on NAnt and other free tools available for making .Net apps. Should be no problem finding informaiton you need if you decide to go this route. Quote
Denaes Posted April 25, 2005 Author Posted April 25, 2005 One thing Mono implies (I might have read/interpreted it wrong) was that it would just run any .Net applications. Meaning if I wrote an application in 1.1 (2003) and gave it to a friend with OSX or one of the specific Linux versions, they could just install Mono and double click (or whatever) on a .net application and it would run. I was thinking you had to build it targeting mono to get it to run on a mac/linux box. I'd prefer to not have to rebuild everything. I guess I have stop being so lazy and put mono on my wifes Mac and see how it works. Also the last I saw (really looked into it maybe a few months ago) it didn't look like Mono was fully functional - but probobly more than functional enough for any business/personal application. Most likely more than enough for what most of us do - but definately worth testing on other machines with only Mono installed. Quote
Leaders snarfblam Posted April 25, 2005 Leaders Posted April 25, 2005 Mono can run existing programs targeting the .NET or Java frameworks.[/Quote] Contrary to what I thought, it sounds like you don't have to explicitly target Mono. Currently Windows.Forms support is still under heavy development. [/Quote] Be careful about things like that. Quote [sIGPIC]e[/sIGPIC]
Denaes Posted April 25, 2005 Author Posted April 25, 2005 I think the thing I'm worried most about is the Data namespace and accessing databases. What database types are supported for OSX and Linux? I doubt you can use .MDB and I'm even less hopefull of MSSQL. I assume XML would be ok. Quote
Administrators PlausiblyDamp Posted April 25, 2005 Administrators Posted April 25, 2005 Worry not about database support, if clicky is accurate then most popular databases seem to be supported. Quote Posting Guidelines FAQ Post Formatting Intellectuals solve problems; geniuses prevent them. -- Albert Einstein
Denaes Posted April 25, 2005 Author Posted April 25, 2005 Worry not about database support' date=' if clicky is accurate then most popular databases seem to be supported. That looks hopeful, but how can you run SQLServer on a Mac? You need drivers in addition to namespaces. Unless does Mono actually serve/run these databases as well? .mdb may not be terribly professional or the most efficient, but it's a nice bundle. At least on a PC, it requires no user interaction and keeps all the information. Many people arn't going to want to install entire "Servers" on their machines for a business application. I can just imagine asking someone on OSX to install mySQL on their machine. Hmm... are there any more "stand alone" (not run by a server/service) fully fledged databases in a similar vein to Access that run on other platforms? Quote
Administrators PlausiblyDamp Posted April 25, 2005 Administrators Posted April 25, 2005 I doubt you can run SQLServer on a Mac but that doesn't prevent you running a client to MS SQL on a Mac though... Quote Posting Guidelines FAQ Post Formatting Intellectuals solve problems; geniuses prevent them. -- Albert Einstein
Denaes Posted April 26, 2005 Author Posted April 26, 2005 I doubt you can run SQLServer on a Mac but that doesn't prevent you running a client to MS SQL on a Mac though... A client to MS SQL on a Mac? What exactly is that? An alternative application which serves the same format/functions as SQL Server does? Quote
penfold69 Posted April 27, 2005 Posted April 27, 2005 A client to MS SQL on a Mac? What exactly is that? An alternative application which serves the same format/functions as SQL Server does? No. SQL Server is an application that only runs on MS operating systems. The SQL Namespaces (and other Database namespaces) available on Mono merely 'talk' to an available SQL server. They do not provide any SQL server functionality themselves. Similarly, the OLE/ODBC namespaces only communicate with various libraries that handle the 'actual' database work. Access 'databases' are usually handled by the MDAC which acts as a quasi-server for these type of database. I'm unsure as to whether Mono supports .MDB databases, but if they do, then someone has most likely actually written the database-access support into the relevant namespace. We actually run a RHEL3 server here in the office with Mono installed. I compile various programs/DLL files on my Windows development machine and install them onto the Linux box. They then periodically run via CRON and do various things like generate reports. The *exact same* exe/DLL file will run on a Windows box without modification. The programs themselves actually connect to a MySQL database using the MySql.Data namespace. I don't particularly care *how* it achieves it, I merely know that it does, and works on both platforms without recompilation. This is the beauty of the .NET IL - because mono is (almost) 100% compatible, programs compiled on Windows will need no modifications (and in 99.5% of cases no recompilation) to work under Mono on any supported operating system. B. Quote
Denaes Posted April 27, 2005 Author Posted April 27, 2005 No. SQL Server is an application that only runs on MS operating systems. The SQL Namespaces (and other Database namespaces) available on Mono merely 'talk' to an available SQL server. They do not provide any SQL server functionality themselves. Similarly, the OLE/ODBC namespaces only communicate with various libraries that handle the 'actual' database work. I understand all of that and how the Data namespaces only offer general/optimized classes for accessing/connecting to databases. My goal is to have a multi-platform application which accesses a database. I don't care what database it is, just that it's somewhat friendly to create the table structure/relationships (either directly or with an obvious 3rd party tool), its free (as my application is free) and it's not a pain in the heine for people to run the database on their computers. Installing a driver is one thing - end users shouldn't have to install a database server to run a freeware application. Which is why I'm looking for "just a database" that runs on OSX as well as PC. This isn't the right forum for this specific of a question about databases so I'll go ask in the database forum - not that I expect much luck involving OSX database knowledge on a .Net forum. Maybe a Java forum would know better? ;) Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.