C# and UNIX Compatibility Issues?

  • Thread starter Thread starter Logician
  • Start date Start date
L

Logician

I want to use UNIX to develop c# applications, does anyone have any
details of compatibility issues?
 
I want to use UNIX to develop c#
applications, does anyone have any
details of compatibility issues?

Does the DotNet framework exist for
Unix? I though it was a project
intended for future, if ever...
 
Logician said:
I want to use UNIX to develop c# applications, does anyone have any
details of compatibility issues?

I assume that you mean using Mono ?

If you just want your apps to run on *nix, then writing
it in C# using Mono should be OK.

If you develop on *nix and want to deploy on both *nix
and Windows then you should also be fine.

(in both cases uses GTK# not Win Forms !)

If you develop on Windows and want to deploy on both *nix
and Windows then you should also be fine, then you will
very likely be headed towards problems.

Especially if you use newer .NET features.

Arne
 
K said:
I was under the impression that the new WPF
should be used for all new development, instead of WinForms. Have i been
missinformed?

We can always discuss whether it is "should" or "should consider". But
it is more or less correct.

For MS .NET on Windows. AFAIK then Mono does not offer WPF, so it is
simply not an option for *nix.

Arne
 
If you just want your apps to run on *nix,
then writing it in C# using Mono should be
OK. If you develop on *nix and want to
deploy on both *nix and Windows then you
should also be fine.

(in both cases uses GTK# not Win Forms !)

I was under the impression that the new WPF
should be used for all new development,
instead of WinForms. Have i been missinformed?
 
I've had several issues with character encoding.

Eg: using (StreamReader sr = new
StreamReader(dataStream, System.Text.Encoding.Default))

defaulted to the correct encoding for that specific stream in Windows
(UTF-7 in that case). On *nix it was bugged and I had to specifically
set it to UTF7. There were several _minor_ other things that broke my
code when someone tried to run under *nix.
 
I was under the impression that the new WPF
We can always discuss whether it is "should"
or "should consider". But it is more or less
correct.

Right, "should consider". I agree, it's not
always the best choice.
For MS .NET on Windows. AFAIK then Mono does
not offer WPF, so it is simply not an option
for *nix.

That, i didn't know. I guess that i naively
assumed once a framework is released, it does
contain (or at least is aimed at containing)
att the parts for all the different paltforms.
 
I've had several issues with character encoding.

Eg: using (StreamReader sr = new
StreamReader(dataStream, System.Text.Encoding.Default))

defaulted to the correct encoding for that specific stream in Windows
(UTF-7 in that case).

It would be a *very* odd installation of Windows which used UTF-7 as
the operating system default encoding.
On *nix it was bugged and I had to specifically
set it to UTF7. There were several _minor_ other things that broke my
code when someone tried to run under *nix.

If you're using Encoding.Default but you actually require a specific
encoding, then it's not the operating system which is buggy, but your
code.

Encoding.Default should *only* be used when you actually require the
operating system's default encoding. I find that's very rarely useful,
personally.
 
K said:
Right, "should consider". I agree, it's not always the best choice.


That, i didn't know. I guess that i naively assumed once a framework is
released, it does
contain (or at least is aimed at containing)
att the parts for all the different paltforms.

MS does not release a .NET for *nix.

They release to Windows and the Mono people start creating
the same classes.

And they have not created much of the 3.x classes yet.

Arne
 
I've had several issues with character encoding.

Eg: using (StreamReader sr = new
StreamReader(dataStream, System.Text.Encoding.Default))

defaulted to the correct encoding for that specific stream in Windows
(UTF-7 in that case). On *nix it was bugged and I had to specifically
set it to UTF7. There were several _minor_ other things that broke my
code when someone tried to run under *nix.

http://msdn2.microsoft.com/en-us/library/system.text.encoding.default.aspx

says:

#Caution:
#
#Different operating systems might use different encodings as the
#default. Therefore, data streamed from one operating system to another
#might be translated incorrectly.

I guess they meant it !

Arne
 
For MS .NET on Windows. AFAIK then Mono
MS does not release a .NET for *nix.
They release to Windows and the Mono
people start creating the same classes.
And they have not created much of the 3.x
classes yet.

Got it. Thanks!
 
Does the DotNet framework exist forUnix? I though it was a project
intended for future, if ever...

My intention was to use UNIX to use the greater power of UNIX.

Is there some way to improve .NET/C# performance when running high CPU
usage programs?Windows is so slow and limited that the machine slows
down.
 
Logician said:
Is there some way to improve .NET/C# performance when running high CPU
usage programs?Windows is so slow and limited that the machine slows
down.

Only if poorly managed like with a ton of malware.

No OS uses significant CPU by itself when configured properly.

Arne
 
Back
Top