Cross Platform Programming with x# possible?

This forum is meant for questions and discussions about the X# language and tools
Post Reply
dewo001
Posts: 2
Joined: Wed Nov 18, 2015 8:00 pm

Cross Platform Programming with x# possible?

Post by dewo001 »

Hi!

After some abstinence from programming: has anybody tried to compile the compiler under MacOS in VS2019? 

If I try this, i get the message in import.targets line 178:  Error MSB4036: The "ValidateBuildEnvironment" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly declared with <UsingTask> in the project file, or in the *.tasks files located in the "/Applications/Visual Studio.app/Contents/Resources/lib/monodevelop/bin/MSBuild/Current/bin" directory. (MSB4036) (CompilersBoundTreeGenerator)?

Any ideas?

Greetings
Wolfgang
User avatar
robert
Posts: 4290
Joined: Fri Aug 21, 2015 10:57 am
Location: Netherlands

Cross Platform Programming with x# possible?

Post by robert »

Wolfgang,

Why do you want to recompile the compiler under MacOs ?
We are only building the compiler under Windows. Both on our desktop and on a Windows machine on Github (through a Github action).
Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
info@task.si
Posts: 31
Joined: Mon Nov 02, 2015 2:08 pm

Cross Platform Programming with x# possible?

Post by info@task.si »

Dear Robert, Wolfgang !
Last 6 months I am deeply involved in web development using Blazor, mixing blazor's C#,css, html with X#. X# code represents for me bussines logic for my future project(s) and it is in Core dialect. In VS X# code is involved other as a X# project or as an assembly. Everything works fine also in (under) .NET 5.0. Congratulations once again to your team.

Back to your question?. One of the reason for choosing blazor as a framework is croos platform programming. Blazor app can be ported on MAcOS, Linux and Windows.
My dev. project was without problems installed under IIS and Azure Services. But in a near future I plan too install it also under MacOS.
Regards, Andrej
User avatar
robert
Posts: 4290
Joined: Fri Aug 21, 2015 10:57 am
Location: Netherlands

Cross Platform Programming with x# possible?

Post by robert »

Andrej,

The installer for FOX subscribers includes a .Net core version of the compiler.
That should also work for compiling under MacOS.
This compiler itself is compiled on Windows, but the binary also works on other platforms.

Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
info@task.si
Posts: 31
Joined: Mon Nov 02, 2015 2:08 pm

Cross Platform Programming with x# possible?

Post by info@task.si »

Dear Robert,
I am using X# public version. I do not understand your statement:
"The installer for FOX subscribers includes a .Net core version of the compiler".

Are you so kind and explain us or point us on differencies between X# Core dialect library with runtime and without runtime;
- Environmet: VS 2019 add new project, use templates ....
- Why am I able to add a reference (inside X# Core project) of NET type that are filtered to .NET Framework 4.7.1 ?
I would like to add a NET 5.0 reference.
TIA Andrej
User avatar
robert
Posts: 4290
Joined: Fri Aug 21, 2015 10:57 am
Location: Netherlands

Cross Platform Programming with x# possible?

Post by robert »

Andrej,

The setup file for our subscribers has a few extra things compared to the public (free) version:
- we have included the .Net Core version of the compiler
- we have included debug versions of the SDK libraries.

And in your question you are mixing "XSharp Core dialect" and ".Net Core". These are 2 different things.

XSharp Core dialect means that you use X# without XBase types such as DATE, ARRAY, USUAL etc.
Other dialects are VO, Vulcan, FoxPro etc.
It has nothing to do with .Net Core.

To compile X# for .Net Core and .Net 5.0 you will have to wait a few months. Our build system is not ready for that.
You can do it "manually" , by calling the compiler with a command line that contains only .Net Core or .Net 5 references assemblies, but you cannot do it from within Visual Studio at this moment.

Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
info@task.si
Posts: 31
Joined: Mon Nov 02, 2015 2:08 pm

Cross Platform Programming with x# possible?

Post by info@task.si »

Dear Robert,

Thank you again to spent your time. A little bit clearly for me. Why a little bit, because of confusing naming
esspecialy from Microsoft. I am referencing:

https://docs.microsoft.com/en-us/dotnet ... t-standard

From your documentation and X# Academy I read out main characteristics of X# Core dialect (what is allowed, what is not .. )
regarding to VO projects that I wrote in past 30 years. I looked also at Academy session about .NET Core.

But I am still confused and I wonder how to characterize my project:
- I am using VS 2019 Community 16.8.4
- .NET 5.0 installed in Windows 10 (latest build)
- I am developing a Blazor solution (inside VS) with 2 projects:
a) Project razor (Blazor) pages. Project has a Application property: Target framework: .NET 5.0
b) X# project using Core dialect. This project was firstly written and tested in XIDE (X# Core dialect)
and than ported in VS. X# project inside a solution also references on some .NET Core 3.1 references
-- namespace System.Data.SqlClient (CLR 4.0).
Finally everything is compiled inside VS 2019. I can than publish a project on IIS

My question: Is my solution .NET 5.0 "approved". I do not know for the appropriate word; instead of approved
I could wrote "tested".

Your answer will be usefull for me and I believe also for others, who are approaching to .NET world.
TIA Andrej
dewo001
Posts: 2
Joined: Wed Nov 18, 2015 8:00 pm

Cross Platform Programming with x# possible?

Post by dewo001 »

Hi,
my motivation: I use a mac and an iphone. I started with vo and used it in an virtual enviroment for years on my mac, but I want to be flexible for the future! Microsoft will go to multiplatform, thus it s for me a logical consequence to think xsharp in the same way:  to use databases with my preferred language under the mac!

Besides: the diffrent frameworks from microsoft are for me a nightmare too!

Greetings Wolfgang
User avatar
robert
Posts: 4290
Joined: Fri Aug 21, 2015 10:57 am
Location: Netherlands

Cross Platform Programming with x# possible?

Post by robert »

Andrej,

Your project may or may not work on .Net core / .Net 5. This totally depends on the APIs that you use.
For example if you are using the registry code from .Net Framework, then that will not work under .Net Core.

And you may be using methods or properties exist in .Net Framework and in .Net Core. There are not many of these, but they do exist.

The only way to be "sure" that it works is to use the correct reference assemblies during compilation.
This is something that we are NOT providing at this moment for .Net Core and for .Net 5.
We did some tests end of last year with our Core, RT, Macrocompiler and RDD assemblies and these all appear to be working without problems on .Net 5. Again, there are no guarantees that everything works until we have tested it all.

We do realize that we need to do start supporting .Net Core and .Net 5 in our build system and inside Visual Studio.
But there are also other requests from our (paying) customers that we want to work on. And there are only 24 hours in a day... We will do this, but we can't promise when this will be ready.

At this moment there is a poll under our paying customers to ask for their priorities w.r.t. our development efforts.
End of this month we will summarize this poll and publish our "2021 roadmap".

Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
info@task.si
Posts: 31
Joined: Mon Nov 02, 2015 2:08 pm

Cross Platform Programming with x# possible?

Post by info@task.si »

Robert ,

Thank you again. I understand. Your answer explains a fact why VS offers me only .NET framework 4.7.1 references inside X# Core project. VS probably "knows" that X# code is not .NET Core 3.1 one.
I am aware that I am not a FOX subscriber. I am now also retired (I closed my company before 2 years) and I have no bussines interes to become paying customer. Porting my old VO app to "web" is a challenge for me. Reason for doiing that is also to be a honored member of "dynosaurus" club. I am joking now ...

Best regards, hoping that you and your team will continue in a same way (maybe also faster to .NET)
Andrej
Post Reply