a Bluemix customer is planing to deploy its C/C++ (and probably C#) application in Bluemix and by using the Bluemix VM OpenStack.
The issue is that in the list of supported languages you can not find C/C++ as it is indicated in the documentation that: "You can deploy and run applications that are developed in any of the following languages: Liberty for Java™,SDK for node.js, GO, ASP, .NET5, PHP, Python, Ruby on Rails and Ruby Sinatra". What solution can Bluemix offer to the C/C++ (and C#) customers?
As of May 11 IBM has added to Bluemix a .Net Buildpack or set of tools, along with the .Net runtime, giving developers C and C# options.
http://www.informationweek.com/software/enterprise-applications/ibm-bluemix-welcomes-microsofts-net/d/d-id/1320357
The ASP.NET runtime is currently offered as an experimental service.
There are 3 ways you can deploy an application in Bluemix:
Cloud Foundry application
Containers
Virtual Machines
The statement about the supported languages applies to Cloud Foundry applications. In this case a specific buildpack for a language is required to deploy an application.
If you are using Virtual Machines you can deploy and install any application supported by the operation system you choose for the Virtual Machines, including C or C++. You basically need to install the packages required by C or C++ in the Virtual Machine.
Related
I'm using Visual Studio Community 2022, I've developed a web application with MySQL database and it works fine in Windows hosting and IIS, the problem appeared when I tried to deploy it in GoDaddy Linux host not Windows host. I did all my best with all required steps to deploy it on Linux hosting, when I contacted with godaddy help desk they tolled me that there is no any solution for my problem.
Are there any one published ASP.NET Core MVC on Linux server especially on GoDaddy?
Well, first up, it seems to me a VERY and VERY BEYOND idea to develop on one platform, and worse yet a different OS then what you are deploying to.
Next up, you have to think of a web server JUST like your desktop computer. If you say use some PDF library, then that PDF viewer or library HAS to be installed on your computer for this to work.
Same goes for a web hosting server. If you going to run the .net runtimes on Linux, then you have to setup and install the .net runtimes and system on that Linux server.
You can no more build a program for windows desktop, and THEN decide that program is to now run on a Mac computer, or run on a Android phone.
So, in addition to placing your web site and your .net code that drives the web site on that Linux computer?
You also have to get onto that Linux computer, and install the .net framework, and systems you require.
For example, if you use MySQL as the database? Then that system ALSO has to be installed on that web server.
And if you using SQL server, as the database? Then you have to pick and choose a hosting system that has SQL server installed. Or better yet, pick a hosting plan, and then YOU must develop to the systems and software that is existing on that server.
So, if you decide to develop using PHP and say MySQL? That is VERY unlikely to run on a web site that runs the windows OS.
And if you decide to use PHP with SQL server? Then you have to ensure that the web hosting server (and plan) has support for PHP, and ALSO has SQL server installed and supported.
Unless you can say install SQL server on that server? And unless you can install the .net runtimes and systems on that server? Then you can't use that hosting plan, or else you go and find a hosting plan that:
Lets you install these systems.
Or
You choose a hosting plan that supports the set of tools you used to develop that web site and code with.
You can't just out of the blue install some windows software on a Mac computer.
And you can't out of the blue develop some software for Linux, and then expect that software to run on windows computers.
So, unless that hosting plan has all the librries, and bits and parts you used to devleop your software with? Then your software not even close to be able to work.
So, check your hosting plan. Does it support SQL server, or MySql? Maybe it only has Postgres SQL support.
Mabe the server does not support PHP - so you can't use that either.
Given that a windows hosting plan on go-daddy is what -- about an extra $2 or $3 dollars per month?
Then why not use and choose and adopt a plan that is windows based in place of Linux based.
The simple matter?
You either buy a hosting plan, check tools and software systems it supports. And then YOU MUST then choose those same developer tools for development.
Or you pick a set of development tools to use, and THEN go find a hosting plan that supports the software and systems you used for development.
However, be it desktop or web development?
You can no more install Android software on windows or Mac. And you can no more install Mac software on a windows desktop.
So, you have to ensure the given computer in question (your web server) has all the software systems and bits and parts installed on that server for YOUR software to run.
After you say been developing for a few years in .net, then I would suggest you get a local Linux computer up and running, and then say spend a month or two, and learning how to run a .net web site on that Linux computer. It certainly can be done, but there is a huge number of bits and parts you have to install, setup, learn to use, and quite a bit more to get this all working.
But you MUST drop this silly idea that any old web server will run any old web site you create.
in fact, EVEN WHEN you say develop using Linux tools, unless that target web server has the same database system, and all of the required systems you used for development? Then you can't even deploy software developed for and on a Linux computer to that Linux web server (unless it supports and has all of the systems and frameworks installed that YOU used to develop your site with).
Until you spend say a 6 months or maybe year or 2 at this?
I would fork out the extra $2 for a windows hosting plan on go-daddy, and go with that. But, even then, you have to determine if that web server in question supports say .net core and you used .net core. Or if not, then what .net framework version did you use for development? If the web server does not have that framework, then you can't use that hosting plan. For example, the latest .net framework (non core) is version 4.8, but some web hosting plans only recent adopted and support .net 4.8. As a result, you have to use .net 4.5, or even maybe .net 4.0 for your development platform.
So, you MUST ALWAYS develop your software based on what software and systems EXIST on the target web server.
No such thing as "just publish" to any old web server EVER existed in our industry. How this works for desktop computers, or a web server computer box is not really different.
I should also point out that asp.net REQUIRES the IIS web server and NOT say Apache web server. So, then how can and does a .net core publish work on a Linux box running Apache web server?
Well, during your publish, you INCLUDE a IIS compatible web server. Then you configure Apache to FORWARD all requests to IIS (that low foot print web server is called Kestrel if you wondering).
So, not only will the .net core runtimes be required on that web server, but ALSO a working copy of IIS web server. It turns out that BOTH the .net core runtimes and the included IIS web server CAN be included as part of a .net core publish to a Linux web server. (and to be 100% clear, your server has to be running CentOS compatible version of Linux).
ONCE you do this publish, then you STILL have to configure Apache to FORWARD all requests to the IIS compatible web server.
I'm trying to start developing RFID-reader apps. I've read that in the past you had to do it in C or C++, but nowadays there's a way to do it in .net (C# for ex.). I downloaded ETK, Documents and tools and latest SDK but I didn't find information about developing embedded apps in C# nor compiling .net solutions for arm processor (cause it's supposed to be executed by the reader).
According to Impinj Support Portal they have GCC based tools for on reader application. They have detailed installation instructions.
The do support C# for the PC side as part of the Octane SDK
I work for a team that currently specializes in creating windows desktop applications in C#/.NET that interwork with local user instances of Microsoft Excel via Office COM Interop. I am currently charged with specifying a new product but I’ve been told that the project will not go ahead unless the app can run on Mac as well as Windows – that is, we have to be able to produce a Mac version of the app that can install natively on OSX and interact with the object model of a user’s instance of Microsoft Excel for Mac.
Running the app with Parallels, Mono or Wine (see COM Interop Through Wine in OSX, which was never answered) is not a solution because the spec for the app requires that the user machine is not modified in any way. We just have to assume the user has a licenced local copy of Excel running, and work with that… which is what we have always done on Windows, where it works great.
I think .NET Core is the answer but I can’t find anywhere where it says definitely that we can (or will be able to) access the Excel Object Library from C# when running .NET Core on Mac OSX with a local copy of Excel for Mac installed. Can anybody point me please to where this has been discussed already; but if not, then tell me how I can go about finding out from Microsoft if this is in their roadmap for .NET Core?
I have received some helpful feedback from a similarly worded question on MSDN. I have also posted an issue on the .NET Core Github, but I think it is already clear what the answer is to this, which is as follows:
The .NET Core team may perhaps be persuadable to add access to the Office.Interop.Excel namespace in the .NET Core Class library, but only for Windows
This cannot be done for .NET Core on OSX because the environment is
not suitable for interchanging COM objects.
This leaves only two options for manipulating objects in Excel for
Mac, both of which already exist: Embedded VBA or Javascript (Office
Add-ins).
Office Addins is a great new solution for web-driven data-oriented
objects in Excel - and its multiplatform nature is awesome - so is enjoying the main focus of
development from Microsoft. However it is not intended to be any
match for the performance of COM for managing complex spreadsheets,
since that's not its focus.
Which means there is no solution for managing objects within Excel
for Mac using C#, in the way that there is on Windows, and there
doesn't appear to be any prospect of one.
The bottom line: The very welcome .NET Core initiative looked like it was a fix, but sadly isn't, because of architecture limitations on OSX.
I have submitted this as an answer because I think I've come to the end of the line of enquiry on it, but if anyone thinks any of the above is incorrect, please shout!
Thanks.
Is there an AllJoyn SDK for C# / .NET ?
- I want to create an AllJoyn Service in a console application, which have to run on my Windows Server and I only could find the AllJoyn SDK for Windows Universal Apps.
I've started one here: https://github.com/dotMorten/AllJoynDotNet
More or less all of the C API is exposed to C#, but the nicer easier-to-work-with helper classes around it is still a work in progress (but feel free to chip in!)
If you are doing a C# desktop application, as a console app implies, there is NOT one currently. The AllJoyn api coverage in the Win10 universal library is so small as to be worthless for anything but C++ UWP apps so your only option is p/invoke and it is rather tedious. The old version of AllJoyn (14.x) had a C# .Net wrapper but it was removed as it was apparently not maintained. The code can be found in the AllSeen Alliance git repositories but updating it for the newer apis will be tedious.
Yes it is there...at least for Win10 Universal (and IOT)
In VS2015 you have project templates as well as you can use "AllJoyn Explorer" (can be found in the link below)
Check it out here
https://ms-iot.github.io/content/en-US/win10/AllJoyn.htm
I am currently working in C/C++ in a Unix environment and am new to Linux environments. I would like to learn about the Linux OS and learn C# as the next level of programming language for my career.
I decided to put Ubuntu Linux on my laptop. But I am not sure whether we can write, compile and run C# programs in Linux environments or not.
The only IDE I know for C# is MS Visual Studio. Is there are any possible way to work in C# in a Linux environment?
If I have no other option, I'll have both operating systems on my laptop - Vista to learn C# and Linux for the other OS.
Learn Mono.
The Mono Project is an open
development initiative sponsored by
Novell to develop an open source, UNIX
version of the Microsoft .NET
development platform. Its objective is
to enable UNIX developers to build and
deploy cross-platform .NET
Applications. The project implements
various technologies developed by
Microsoft that have now been submitted
to the ECMA for standardization.
You can use the MonoDevelop IDE.
MonoDevelop is a free GNOME IDE
primarily designed for C# and other
.NET languages.
Mono is an open source .NET compiler, runtime and library.
Monodevelop is an open source C# IDE, primarily intended for linux development. It includes a GUI designer.
You can also use wine, which is a free implementation of Windows' API.
For this :
sudo apt-get install wine
then you'll be able to run Microsoft applications and do [almost] everything you like.
EDIT : My mistake, Visual Studio is not functional :-(
A Vista virtual machine in seamless mode running Visual Studio? Then it will appear to integrate into your desktop like any other app, but you'll have the benefit of running the real MS stuff (with C#, having real MS is still a benefit rather than a liability).
I know this is an old question, but I see no one has mentioned Microsoft Visual Studio Code IDE. This could be what you are looking for if you want to do C# in Linux. As a relative NOOB I can say it brings Visual Studio to Linux. If you need a GUI IDE in Linux, this was it for me. see instructions to install it here