
NET Core and ASP.NET Core RC2 Released - benaadams
https://www.microsoft.com/net/core
======
colemickens

        $ docker run -it microsoft/dotnet:latest
        # dotnet new
        # dotnet restore
        # dotnet run
    

You can run asp.net apps from this container too as they have packaged libuv
into a nuget package.

~~~
tychuz
zsh: command not found: dotnet

Does not work on OS X following these instructions:
[https://www.microsoft.com/net/core#macosx](https://www.microsoft.com/net/core#macosx)

~~~
colemickens
I greatly prefer using docker for reasons like this. Otherwise, I'm not sure
what's going on. I just ran through those instructions on my Mac. After
installing that package and starting a new shell, `dotnet` was working.

There's a slack room which might be able to provider further support:
[http://tattoocoder.com/aspnet-slack-sign-up](http://tattoocoder.com/aspnet-
slack-sign-up)

~~~
tychuz
Dunno, restarted my Mac - still not working. Running latest version - 10.11.5

~~~
colemickens
(I and more authoritative individuals can help more in Slack without
cluttering up this thread too much.) If the Installer did its job, you should
have /usr/local/share/dotnet on your $PATH and it should contain a `dotnet`
binary among some other items.

------
benaadams
Better link: [https://www.microsoft.com/net](https://www.microsoft.com/net) or
[http://dot.net](http://dot.net)

~~~
benaadams
Announcing .NET Core RC2 and .NET Core SDK Preview 1
[https://blogs.msdn.microsoft.com/dotnet/2016/05/16/announcin...](https://blogs.msdn.microsoft.com/dotnet/2016/05/16/announcing-
net-core-rc2/)

Announcing ASP.NET Core RC2
[https://blogs.msdn.microsoft.com/webdev/2016/05/16/announcin...](https://blogs.msdn.microsoft.com/webdev/2016/05/16/announcing-
asp-net-core-rc2/)

Announcing Updated Web Development Tools for ASP.NET Core RC2
[https://blogs.msdn.microsoft.com/visualstudio/2016/05/16/ann...](https://blogs.msdn.microsoft.com/visualstudio/2016/05/16/announcing-
updated-web-development-tools-for-asp-net-core-rc2/)

\-----

.NET Core RC2 is supported on the following platforms:

Red Hat Enterprise Linux 7.2

Centos 7.1

Debian 8.2 (8.2, 8.3, 8.4)+

Ubuntu 14.04 (16.04 support is coming at RTM)

OS X 10.11

Windows 7+ / Server 2012 R2+

Windows Nano Server TP5

~~~
HNcow
I hope it works with Server 2012 non-R2....

------
mmgutz
The branding Active Server Pages (ASP).NET reminds me of the old MS. Why not
something simple like Core.NET that suggests it can be used for other things
besides server-side MVC pages? Core seems to be a real alternative to Java and
Go for API services.

~~~
dragonwriter
So you want them to have .NET Core and Core.NET?

That's just a horrible idea.

~~~
mmgutz
It was not a real suggestion for the brand name. I don't know what their
project codes are anymore. I thought it was ASP.vNext a few months back.

------
jsingleton
Good news. Hopefully it will actually RTM by the end of June.

I'm a little disappointed that [http://dot.net](http://dot.net) is just a
redirect to this and they're not hosting from that. :)

------
oceankid
Is this now an integrated release with the compiler and toolchain?

In the cross-platform section, what is Linus? Do they mean Linux?

[https://www.microsoft.com/net/core/platform](https://www.microsoft.com/net/core/platform)

I can't stand that each of their primary link leads to a completely different
website, each with its own navigation and visual design.

------
tychuz
[https://docs.asp.net/en/latest/](https://docs.asp.net/en/latest/)

Documentation lags severely behind though.

------
bad_user
Unfortunately they aren't packaging / supporting Ubuntu 16.04 (Xenial), which
is the latest LTS.

I understand that supporting 14.04 makes sense for now and that supporting
non-LTS releases is maybe an unjustifiable burden, but 16.04 is a LTS release
and I tried installing the 14.04 packages and it didn't work as they've got
unmet dependencies.

/me sad

~~~
benaadams
Says Ubuntu 16.04 support is coming at RTM (June?)

------
romanovcode
Still project.json tho, they said they will remove it in future. Too bad not
now.

~~~
bad_user
And replace it with what? Source?

~~~
pionar
Going back to .csproj files, but improving those.

From [0]: "Question: project.json is going away? Sadface

What were the things we liked? It was small, contained NuGet information, and
could be edited by hand. Damian does not want to lose any of those benefits,
and that is why they are working in several steps to complete this migration.
Additionally, the team is building tooling at the command line so that you
don’t have to work with the project file directly. Consider a possible npm-
like command like “dotnet install json.net –save” to add a NuGet package to
your project. There will be first class commands like this available.

The new MSBuild will not have a complete list of every file, so that should
reduce the size of the build file. It will still be XML, but the team is
committed to making that experience better for all .NET projects. This will be
an enhanced MSBuild that has all of the best parts of project.json"

[0][https://blogs.msdn.microsoft.com/webdev/2016/05/11/notes-
fro...](https://blogs.msdn.microsoft.com/webdev/2016/05/11/notes-from-the-asp-
net-community-standup-may-10-2016/)

~~~
bad_user
Oh man.

It's not like I liked the idea of project.json, because it clearly has
problems, like being rigid / not extensible.

But I was hoping for a migration towards something like Maven / Gradle / SBT /
Leiningen. And extending MSBuild is not a solution towards that.

And it's really not about MSBuild being XML. No, this is about MSBuild being
too freaking manual, in an Ant/Makefile fashion. Maven is declarative, it
depends on established conventions with overridable settings and has plugins.
And it takes care of _everything_ , from dependency management, building,
deployment, testing, continuous integration, metrics, etc, things for which
people normally use Visual Studio or TFS or other third-party and usually
incomplete, bloated and expensive solutions. And sure, providing command line
tools that modify MSBuild is nice. But you know, the fact that you need a tool
to modify MSBuild highlights a big problem. And no, it's not because of the
XML.

------
supercheetah
I'm curious, for anyone that has experience with .NET on Linux, for new stuff
that you're writing, is it better to go with this or with Mono? How about if
you wanted to give it a GUI interface?

~~~
judah
Yes, the team I work on has experience with both, and .NET Core is the way to
go.

I work on RavenDB[0], a NoSQL database for .NET. We tried porting our database
technology to Linux using Mono, and we encountered many serious bugs.

We have since abandoned that port and moved to .NET Core. It is successful,
and we will be releasing that in the next major version of our software,
RavenDB 4.0.

[0]: [http://ravendb.net](http://ravendb.net)

------
montyedwards
I don't see downloads for FreeBSD. CoreCLR (.NET Core) mentions FreeBSD at
github, but nothing from Microsoft's announement of RC2.

~~~
alexc05
IIRC freebsd was a community port
[https://github.com/dotnet/coreclr/issues/793](https://github.com/dotnet/coreclr/issues/793).

Or possibly netbsd
[https://github.com/dotnet/coreclr/pull/4504/files](https://github.com/dotnet/coreclr/pull/4504/files)

Those version may require self-build or a bit more heavy lifting.

------
spriggan3
I used RC1 on Linux which was fine but now I'm going to wait for the final
release (end of the year?), obviously people using PostgreSQL or MySQL with EF
won't get a functional driver soon.

~~~
colemickens
I'm using the Postgres EntityFrameworkCore provider from here without issue so
far: [https://www.myget.org/gallery/npgsql-
unstable](https://www.myget.org/gallery/npgsql-unstable)

~~~
spriggan3
With RC2 on Linux ? or RC1 ?

~~~
colemickens
With RC2 on Linux (in Docker). In the myget link I just posted, you can see
that those EF-npsql packages depend on 1.0.0-rc2-final packages.

------
merb
does .net core has an FFI for (Linux / Mac)?

~~~
mellinoe
Assuming you mean "foreign function interface", then yes, P/Invoke is
supported on .NET Core just as it is in the .NET Framework (the Windows
component). We use it extensively in the core libraries to access platform
functionality.

(I work on the core libraries for .NET)

~~~
merb
oh thanks is there any documentation around that or is it better to look into
the source?

~~~
mellinoe
Most of the documentation/tutorials you find will be perfectly relevant, but
they may be Windows-centric based on .NET's history.

At a really basic level, you simply declare a "static extern" method with a
"DllImport" attribute attached to it. For example, you could call "printf"
from libc like so:

    
    
      [DllImport("libc")]
      public static extern void printf(string message);
    
      static void Main()
      {
          printf("Hello World");
      }

~~~
merb
What happens if the library isn't in LD_LIBRARY_PATH could I specify a path
with DllImport?

~~~
mellinoe
Yes, you can specify a relative/absolute path in DllImport if you'd like.
Generally it is easier to get consistent behavior if you either: 1) rely on
the user to install the binary somewhere and place it on the path, or 2)
deploy the native binary along with your application. We generally do 1) in
.NET Core, or we rely on components of Windows, for example.

~~~
merb
That won't work with Nuance CSDK. It will install the Linux binary to
/usr/local/nuance-csdk/bin, /usr/local/nuance-csdk/lib, etc..

