
Visual Studio for Mac Preview - clbrook
https://www.visualstudio.com/vs/visual-studio-for-mac/
======
johnhattan
FWIW, this is actually a rebranding of Xamarin Studio, so it only handles C#
and F#. It's a bit puzzling, as VSCode seemed to be the tool that was going to
take over all the Xamarin Studio features.

~~~
wmccullough
If I had to really take a guess here, this is what I'd speculate.

This is only the first step for Visual Studio Mac. The next will be to begin
bringing feature parity to the Mac version (My gut feeling is that VB.NET
won't make the leap, but with Roslyn, maybe I'm wrong).

I feel this isn't stated enough. VSCode, albeit made by Microsoft, goes way
beyond Microsoft's core interests. Given that you can now enable language
support for around 470-ish languages, I don't think that their game here is to
be a replacement for anything. I have an even crazier suspicion about what
VSCode is really about.

So if you've lived with Visual Studio for years, you know that it's been COM
based for a looonnnnggg time (since inception). I think VSCode serves two
interests. The first interest is to bring non-Microsoft users in the fold with
the hopes that they may go "This ain't so bad, maybe I'll give other stuff a
try". I think the second is that they need a playground to figure out how to,
excuse me here, "unfuck" the core architecture of Visual Studio. If they can
write suitable replacements for core functionality, let them bake and mature
for some time, then BOOM! they can replace the VS components.

Like I said, just a crazy opinion based on what I've seen so far.

~~~
DonHopkins
Mozilla underwent a process of "DeCOMification", because they went too far
with XP/COM, and wanted to dial it way back.

[https://bugzilla.mozilla.org/buglist.cgi?query_format=specif...](https://bugzilla.mozilla.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__all__&product=&content=decomify&comments=0&comments=1)

~~~
mizzao
Can someone link to a synopsis describing what "COM" is? It's hard to search
for. (e.g. _microsoft com visual studio_ )

~~~
DonHopkins
Glad you asked! One of my favorite topics. ;)

COM is essentially a formal way of using C++ vtables [1] from C and other
languages, so you can create and consume components in any language, and call
back and forth between them. It's a way of expressing a rational subset of how
C++ classes work and format in memory, in a way that can be implemented in
other languages.

It was the outcome of the C / C++ / Visual Basic language wars at Microsoft.

The original 16 bit version of Visual Basic version 1 through 3 had a plug-in
extension mechanism called VBX -- Visual Basic Extensions [2].

They were extremely popular and became a victim of their own success, after a
whole industry grew up around them, and people started using them for all
kinds of things they weren't intended for, and wanted to use them from other
languages and frameworks like Borland. Microsoft had to do something about
that to mitigate the success disaster of VBX, so they invented COM.

At the time, Microsoft was transitioning from Win16 to Win32, so they came up
with the 32 bit COM definition, also known as OCX's, or OLE Controls, which
they later called ActiveX, because COM was so hard to search for, and they
wanted to take the spotlight away from Java with a new buzzword.

So they brewed up a bunch of ugly C macrology that enabled C programmers (or
Visual Studio wizards) to define COM interfaces in header and implementation
files that just happened to lay out memory in the exact same way as vtables of
C++ pure virtual classes.

While C++ programs would use other ugly macros to declare actual honest-for-
god C++ classes to implement COM interfaces.

And Visual Basic programmers would ... do whatever it was that Visual Basic
programmers did.

COM's IUnknown::QueryInterface [4] method is essentially like C++'s
dynamic_cast [5]. But it also adds some object aggregation features [6] that
let you compose multiple sub-objects together by aggregation instead of using
monolithic inheritance. You could implement "tear off interfaces" [7] that
lazily create aggregated sub-objects on demand, useful for implementing
callback interfaces.

MFC (Microsoft Foundation Classes) is a set of C++ wrappers around the lower
level Win32 interfaces, plus a huge framework for implementing GUI widgets and
dialogs on top of Win32, and for wrapping rube-goldbergesque OLE Automation
interfaces around C++ classes. For some time MFC was the primary way of
implementing COM interfaces in C++, but it was infamous for being horribly
complex, with all its ugly macros, Hungarian notation, and bizarre programming
conventions.

Later on Microsoft came out with the C++-only ActiveX Template Library (ATL)
[8], which, although it was still necessarily quite ugly, was a more elegant
and powerful way of implementing COM components in C++, didn't have the
baggage of supporting C, and let you implement COM/OLE/ActiveX components
without the hideous MFC framework. ATL was popular for implementing all kinds
of Internet Explorer plug-ins.

OLE was actually a layer of COM interfaces and MIDL (Microsoft Interface
Definition Language) on top of COM, which adds the IDispatch interface for
dynamically querying and invoking methods and properties at runtime, and
variant types [9]: tagged unions for representing polymorphic data (i.e. VB
data types) and passing parameters to OLE IDispatch functions.

OLE was the glue necessary for integrating COM components into the Visual
Basic runtime, so it directly supported Visual Basic data types, calling
conventions and semantics like indexed properties.

OLE also provided an interface definition language (ILD) you could compile
into binary type libraries, use to generate boilerplate C and C++ interfaces,
and OLE also had COM interfaces and structures for providing those type
libraries at runtime. It also had a lot of persistence, runtime reflection,
and user-interface related stuff for plugging components and dialogs together
in windows, providing property sheets, editing and configuring controls, etc.

MIDL supported defining components with "dual interfaces" [10]: both an OLE
IDispatch interfaces taking variant type parameters, and also more efficient
lower level COM interface taking primitive types. Runtimes like Visual Basic
knew how to integrate dual interfaces and could bind to the more efficient
underlying COM interfaces, instead of going through the slower generic dynamic
IDispatch interfaces.

IDL also described the intricacies of DCOM [11] interfaces (for in-process and
networked remote procedure calls), parameter marshalling [12], and all kinds
of other bizarre stuff. DCOM is where COM went off the deep end.

At its core, COM was essentially a very simple and ingenious idea that
elegantly solved some real world problems, but it eventually evolved into
something extremely complex that attempted to solve many other unrelated
problems, and which required a massive amount of tooling, and that depended on
Microsoft's Visual Studio and Win32 environment.

Microsoft actually ported ActiveX to the Mac using ATL and Metrowerks Code
Warrior, in order to implement Microsoft Internet Explorer for Mac [13] (which
was actually the best web browser on the Mac at the time, by far). But not a
lot of third parties (except for me and a few other crazy people) ever used
ActiveX on the Mac.

However it did become quite fashionable for other organizations to create
portable COM knock-offs to solve some (hopefully fewer) of the same problems,
but which were incompatible with Microsoft's tooling and COM itself (which
kind of missed the main points of COM, but hey).

For example, Macromedia came up with MOA (Macromedia Open Architecture) [13],
their COM-like plug-in extension mechanism for Director and other products.

And Mozilla came up with XP/COM [14], for implementing components in
Mozilla/Firefox/XULRunner/etc, enabling programmers to implement and consume
XP/COM components in C++ or JavaScript. Of course it has its own IDL and
tooling, and suffers from many of the same problems that COM did.

Mozilla didn't go nearly as far down the rabbit hole as Microsoft did, and
later backtracked in their valiant "deCOMification" aka "deCOMtamination" and
"outparamdelling" efforts [15].

At this point in history, I think it's best to skip the "component technology"
middleman and integrate extensions directly into the JavaScript engine itself.
Which brings us back to the sub-topic of VSCode!

[1] Virtual Method Table:
[https://en.wikipedia.org/wiki/Virtual_method_table](https://en.wikipedia.org/wiki/Virtual_method_table)

[2] VBX:
[https://en.wikipedia.org/wiki/Visual_Basic_Extension](https://en.wikipedia.org/wiki/Visual_Basic_Extension)

[3] Variant Type:
[https://en.wikipedia.org/wiki/Variant_type](https://en.wikipedia.org/wiki/Variant_type)

[4] IUnknown::QueryInterface: [https://msdn.microsoft.com/en-
us/library/windows/desktop/ms6...](https://msdn.microsoft.com/en-
us/library/windows/desktop/ms682521\(v=vs.85\).aspx)

[5] dynamic_cast: [https://msdn.microsoft.com/en-
us/library/windows/desktop/ff4...](https://msdn.microsoft.com/en-
us/library/windows/desktop/ff485837\(v=vs.85\).aspx)

[6] Aggregation: [https://msdn.microsoft.com/en-
us/library/windows/desktop/ms6...](https://msdn.microsoft.com/en-
us/library/windows/desktop/ms686558\(v=vs.85\).aspx)

[7] Tear Off Interface: [http://www.codeguru.com/cpp/com-
tech/atl/performance/article...](http://www.codeguru.com/cpp/com-
tech/atl/performance/article.php/c3613/ATL-TearOff-Interfaces.htm)

[8] ActiveX Template Library: [http://www.drdobbs.com/windows/the-activex-
template-library/...](http://www.drdobbs.com/windows/the-activex-template-
library/184410220)

[9] Variant Types:
[https://en.wikipedia.org/wiki/Variant_type](https://en.wikipedia.org/wiki/Variant_type)

[11] Distributed COM:
[https://en.wikipedia.org/wiki/Distributed_Component_Object_M...](https://en.wikipedia.org/wiki/Distributed_Component_Object_Model)

[12] Marshalling:
[https://en.wikipedia.org/wiki/Marshalling_(computer_science)](https://en.wikipedia.org/wiki/Marshalling_\(computer_science\))

[13] Macromedia Open Architecture (MOA):
[https://www.adobe.com/support/xtras/info/moa.html](https://www.adobe.com/support/xtras/info/moa.html)

[14] XP/COM: [https://developer.mozilla.org/en-
US/docs/Mozilla/Tech/XPCOM](https://developer.mozilla.org/en-
US/docs/Mozilla/Tech/XPCOM)

[15] deCOMtamination:
[https://wiki.mozilla.org/Gecko:DeCOMtamination](https://wiki.mozilla.org/Gecko:DeCOMtamination)
[http://taras.glek.net/blog/categories/decomtamination/](http://taras.glek.net/blog/categories/decomtamination/)
[https://blog.mozilla.org/tglek/category/decomtamination/](https://blog.mozilla.org/tglek/category/decomtamination/)

~~~
pjmlp
> COM is essentially a formal way of using C++ vtables

No, it is actually quite actual, I guess you haven't looked into how Windows
8, 8.x, 10 and UWP applications work.

Great summary, though.

~~~
DonHopkins
Thanks! By essentially I did mean actually, or literally (in the literal sense
(in the literal sense (in the literal sense ...))). ;)
[http://www.thesaurus.com/browse/essentially](http://www.thesaurus.com/browse/essentially)

~~~
pjmlp
I guess I misunderstood "formal" as "a former".

------
duckworth
I went to install it and it seems to be forcing me to download another full
Android SDK to a private location without the option the specifying the
existing Android SDK location that I already have set up. A quick search show
this as an open issue that is 5 years old
[https://bugzilla.xamarin.com/show_bug.cgi?id=859](https://bugzilla.xamarin.com/show_bug.cgi?id=859)

I lost interest already.

~~~
m_st
Same thing here. I don't care about Android development, just about Xamarin
for iOS and Mac and .NET Core. I cancelled the installation as it tries to
install some Java and Android SDK which I don't want. Better luck next time.

~~~
bitshiffed
It sounds like you're done messing with it; but if you're not, you can install
it without the Android/Java stuff. If you let the installer start running, but
deny it elevation to write to your system directories when prompted, it will
throw up a "manual install" dialog with instructions and links to download the
individual components separately.

Then you can download just the IDE, the Mono framework, and the Xamarin.Mac or
Xamarin.iOS pieces if you want them.

~~~
kalleboo
You can also just go straight into the app menu and there's a "Show manual
installation instructions" item there that pulls up the same dialog

------
curtisspope
__UPDATED WITH SCREENSHOTS __

I have it and have installed it,Initial thoughts:

( I use VS Pro every day BTW)

here are some screenshots

[https://www.dropbox.com/sh/nbsetrwnoirbhr0/AAAuF0FHR2nACBaft...](https://www.dropbox.com/sh/nbsetrwnoirbhr0/AAAuF0FHR2nACBaftY3xwNoMa?dl=0)

-Great first step, I can only see raw code and code behind views

-No visual Layout view yet, but its greyed out in the View Menu, when selecting .aspx File (Source|Changes|Blame|Log|Merge)

-Looks like its so far, meant for lightweight projects

-Git integration is much simpler to setup/use

~~~
BukhariH
Does it feel responsive whilst typing?

I'm used to Sublime and when I tried VS Code it felt kind of laggy.

~~~
curtisspope
so far yes, no lag either :)

------
mattstrayer
[https://www.visualstudio.com/visual-studio-pre-release-
downl...](https://www.visualstudio.com/visual-studio-pre-release-downloads/)

^^ download link

~~~
iamed2
This was the link I successfully used to install.

~~~
karolist
I really expected this to be behind a registration or survey form but no -
just a straight link to a dmg no questions asked, can't believe it's
Microsoft.

------
bni
So Microsoft names all their products Visual Studio now. Before it used to be
that everything was called Windows.

So its just like the 3 versions of Skype that Microsoft offers.

------
m_fayer
Xamarin studio is in many ways lighter and more asynchronous than vs proper,
so there is some upside. But it's missing visual studio's absolutely killer
feature, which is the superb c# repl. Add that and my windows virtual machine
will start gathering a lot of dust.

~~~
sandyarmstrong
We just released Workbooks 1.0 [0]. You can use it on both Windows and Mac,
and run your code in a variety of platforms.

Try a Console workbook for something quite similar to (and in some ways more
powerful than) the Visual Studio REPL.

Workbooks go beyond the REPL and can include rich content so that they can be
saved and shared. But I use it every day for random REPL tasks that I used to
use `csharp` for.

[0]
[https://developer.xamarin.com/releases/interactive/interacti...](https://developer.xamarin.com/releases/interactive/interactive-1.0.0/)

~~~
m_fayer
Wow, I did not know about this. I just spent 30 minutes playing with it and am
intrigued and hope this will reach its full potential, then it could be
something rather special. For now though...

Evaluation is painfully slow, especially when running in the Android context.

Restrictions and missing functionality around importing packages from nuget.

This could really do wonders for Android UI development, I've dreamt of having
as tight a feedback loop on Android as I have on the web, and this could one
day bring us there. Unfortunately I couldn't find any easy or obvious way to
inflate views from xml, and/or supply my own custom activities that I can then
manipulate from the workbook.

Would be great to know what your roadmap is for this product...

~~~
sandyarmstrong
Thanks for playing with it! You cheated and went outside the scope of the VS
REPL though. :-P

* On Windows, first evaluation can take a few seconds (and we're working on that), but subsequent evaluations should feel instant. If that's not the case, would love a bug filed so we can explore a bit more. Of course, there is the startup penalty of launching the Android app and potentially an Android emulator, but I assume you're talking about evaluations _after_ the workbook has connected.

* Agreed! Our NuGet functionality needs a lot of work, but our goal is to have it work as easily as it does in the IDE.

* I don't personally know much about Android view XML, but creating new custom Activities or other Java subclasses at runtime is a significant technical challenge. We have a bug [0] to track it, if you want to subscribe to any updates. This is an unfortunate limitation on Android, for sure.

We don't have a published roadmap at this time, but you can definitely expect
to hear more about this tool in the future. We have a pretty frequent release
cadence, too.

[0]
[https://bugzilla.xamarin.com/show_bug.cgi?id=45382](https://bugzilla.xamarin.com/show_bug.cgi?id=45382)

~~~
m_fayer
To clarify...

I'm on a Mac. Tried it scoped to console and evaluations were not instant, but
decent. Certainly slower than the Mono REPL. Then tried it scoped to Android
and even after everything was warmed up the evaluations were still quite slow.
Running against a six-month old build of the Xamarin Android emulator, running
a Nexus 4 (Android 4.4) image.

My pleasure and thanks for your efforts!

~~~
sandyarmstrong
Hmm...I'm curious what your hardware is like. Maybe I'm spoiled with my 2014
MacBook Pro?

~~~
m_fayer
Nope, I'm also on a late-2014 MBP. It's no slouch.

------
bluetwo
I kind of feel like we are being astro-turfed by Microsoft.

* Google joins .NET Foundation as Samsung brings .NET support to Tizen

* Visual Studio for Mac Preview

* Visual Studio 2017 Release Candidate

* Microsoft announces the next version SQL Server for Windows and Linux

* Announcing .NET Core 1.1

* Microsoft Becomes Linux Foundation Platinum Member

* Visual Studio Mobile Center Preview

* Announcing the Fastest ASP.NET Yet, ASP.NET Core 1.1 RTM

(And before you tell me I'm wrong because I can't _PROVE_ it, let me remind
you I said I _FEEL_ like we are being astro-turfed.)

~~~
rpeden
It's only happening because Microsoft's Connect conference started today. A
lot of new and updated things were announced during the keynote, and stories
about them showed up here on HN shortly afterward. Since Connect is
Microsoft's developer conference, a lot of things announced there tend to end
up on HN.

The same things tends to happen when there's a Google and Apple conference or
event. No astroturfing involved; just HN members watching the keynote and
posting things they think the community will find interesting.

~~~
dguaraglia
Exactly. This is what happened last year around the same time, when they
announced new versions of TypeScript, and the introduction of VSCode, etc.
etc. etc.

Not complaining, it's great to see what Microsoft has been up to summarized in
a single day or two, rather than a trickling of news that I might lose over a
span of a year. It's a bit spammy, but since they moved to supporting Open
Source, the announcements really check a lot of boxes for me.

------
simonh
Can we change the title to "Xamarin Studio for Mac renamed Visual Studio for
Mac".

~~~
ChristianGeek
"The IDE formerly known as Xamarin Studio for Mac." Or maybe just a graphic
symbol.

------
wdr1
I'm dubious. I've been burned twice by MS pushing a product on the Mac
platform & then yanking support. In both cases the answer was effectively
"Well, switch to Windows."

I genuinely hope Microsoft is really changing. But there is a _lot_ of bad
history associated with the company. It takes a long time to change the
culture of a company, and a long time to regain user's trust.

~~~
Delmania
It's a rebranding of Xamarin Studio, they're not going to stop support for it
any time soon. Even if they did, just use Code.

------
fzn
This raises a question: What compilers/toolchains did MS Macintosh Business
Unit use during the second part of the 1990s?

~~~
andyjohnson0
My guess would be Macintosh Programmer's Workshop [1].

[1]
[https://en.wikipedia.org/wiki/Macintosh_Programmer%27s_Works...](https://en.wikipedia.org/wiki/Macintosh_Programmer%27s_Workshop)

~~~
vetinari
At the time, nobody really used MPW, maybe except Apple. Mostly Metrowerks
CodeWarrior was used.

~~~
porsupah
Not /strictly/ nobody - the 3DO version of The 11th Hour was crafted under
MPW, using Norcroft C. But yes, CodeWarrior certainly dominated, particularly
as the 90s closed.

~~~
vetinari
Obviously, I meant Joel Spolky's definition of "nobody" \- _Please understand
that I 'm talking about large trends here, and therefore when I say things
like "nobody" I really mean "fewer than 10,000,000 people," and so on and so
forth_.

Strictly speaking wrt this definition, if MPW had 10M users, it would be a
runaway success. But nobody cared, even when it became free.

------
bsharitt
I know that there's a lot of comments about this just being a rename of
Xamarin Studio, but hopefully this is pointer in the direction Microsoft may
go in eventually joining the two IDEs and in a major version or two we might
actually have a Visual Studio on Windows and Mac(and maybe Linux?) that are
pretty close to each other.

~~~
ksubedi
It's not necessarily a rename of Xamarin, Xamarin Studio for mac was built on
top of Monodevelop (
[http://www.monodevelop.com/](http://www.monodevelop.com/) ) and they are
using the same thing as base for Visual Studio as well which is why they are
all so similar. Im sure microsoft will keep adding features and make it have
feature parity with the windows version.

------
ld00d
I'm installing it right now, and I'm getting admin access requests -- way more
than I should.

~~~
evilduck
The Intel HAXM Android emulator requires kernel extensions. I'm puzzled why
anything else needs admin though.

~~~
joncp
It's Microsoft's habit. Even Outlook for Mac requires admin access (which
scares the crap out of me).

~~~
duaneb
Microsoft was never good at avoiding installers.

------
erichardson30
When trying to open up a project I'm getting : Error trying to load the
project 'Users/user/Projects/Project/ProjectName/ProjectName.csproj': Version
string portion was too short or too long

Anyone know why this would be? This runs fine on windows VS

------
sremani
On Live they just announced it few minutes ago. Its official!!! Visual Studio
on Mac :P

~~~
bphogan
I'm really confused - because when I go to the site, it doesn't really say
"Visual Studio" \- it references tooling and Visual Studio Code. So am I
missing something?

~~~
Grazester
Apparently is not really Visual Studios(as in its not a port of the Windows
IDE known by the same name). [http://arstechnica.com/information-
technology/2016/11/micros...](http://arstechnica.com/information-
technology/2016/11/microsoft-is-going-to-pretend-to-release-visual-studio-for-
mac/)

------
scosman
Was hoping for Objective C support when I saw it. Would love to get rid of
Xcode.

~~~
ChristianGeek
Objective C support? Never going to happen. Swift support? Unlikely, but a
stronger possibility thanks to its cross-platform support. I wouldn't hold my
breath though.

~~~
rhodysurf
Objective C is just as open as Swift is I think

~~~
WorldMaker
Swift is FLOSS, Apache Licensed and built and collaborated on GitHub:
[https://github.com/apple/swift](https://github.com/apple/swift)

Objective C has not had an official open source release, so far as I know.

ETA: Arguing of course how close the gcc/clang implementations of Objective C
may or may not be to the Xcode compilers, of course.

~~~
armadsen
Xcode uses Clang/LLVM to compile Objective-C (and used gcc before adopting
LLVM). To my knowledge there's nothing closed source involved in the compiler.
I had Clang/LLVM compiling Objective-C on Linux a long time ago. Visual Studio
for _Windows_ has been able to compile Objective-C for about a year (see
[https://developer.microsoft.com/en-
us/windows/bridges/ios](https://developer.microsoft.com/en-
us/windows/bridges/ios)).

------
clbrook
Perhaps a bit premature. This link is live at:
[https://www.visualstudio.com/](https://www.visualstudio.com/) But...404ing
from there too.

------
rajathagasthya
I've never used Visual Studio, so I'd like to know how easy and reliable it is
to work on a remote Python code on your local Visual Studio. I've tried using
sshfs with vim to do that, but it's too slow and hinders my productivity. I'm
wondering how other folks here do similar stuff, preferably without changing
my editor from vim to something else (I've been suggested to use atom-sync).

------
mtw
I'm looking for macbook pro alternatives... so wondering, do you think one day
it would be posible to have Visual Studio for PC compile iOS projects?

~~~
joenot443
As in, native ones written in Swift which utilize Foundation and UIKit?

I would say almost certainly not.

~~~
mtw
Makes sense for Swift. What about ReactNative apps?

~~~
colinramsay
RN iOS apps still need XCode so it seems unlikely again.

------
stuartd
Doesn't install on OSX 10.7 - not exactly a surprise, but there aren't any
system requirements on the download page that I can see.

~~~
xamcb
Hey,

Good catch! I will request that we add system requirements to out page. I am
going to suggest they are added to [https://developer.xamarin.com/releases/vs-
mac/preview/vs-mac...](https://developer.xamarin.com/releases/vs-
mac/preview/vs-mac-preview1/)

Disclosure: I work at Microsoft on Xamarin

------
andy
My feedback on Visual Studio for Mac: I created a basic mobile application. I
didn't write any code - just started with a new application and clicked run.
When I launched it for iOS it worked. When I launched it for Android it
crashed immediately. OK...

~~~
xamcb
Hey! I work on the Xamarin team at Microsoft, and I would like to help out on
this! Are you able to send me the crash logs or application output? Thanks!

~~~
andy
Sure here are the logs:

[art] Not late-enabling -Xcheck:jni (already on) [AndroidRuntime] Shutting
down VM [AndroidRuntime] FATAL EXCEPTION: main [AndroidRuntime] Process:
com.greenrobot.testapp, PID: 3218 [AndroidRuntime] java.lang.RuntimeException:
Unable to get provider mono.MonoRuntimeProvider: java.lang.RuntimeException:
Unable to find application Mono.Android.Platform.ApiLevel_23 or
Xamarin.Android.Platform! [AndroidRuntime] at
android.app.ActivityThread.installProvider(ActivityThread.java:5156)
[AndroidRuntime] at
android.app.ActivityThread.installContentProviders(ActivityThread.java:4748)
[AndroidRuntime] at
android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688)
[AndroidRuntime] at android.app.ActivityThread.-wrap1(ActivityThread.java)
[AndroidRuntime] at
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
[AndroidRuntime] at android.os.Handler.dispatchMessage(Handler.java:102)
[AndroidRuntime] at android.os.Looper.loop(Looper.java:148) [AndroidRuntime]
at android.app.ActivityThread.main(ActivityThread.java:5417) [AndroidRuntime]
at java.lang.reflect.Method.invoke(Native Method) [AndroidRuntime] at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
[AndroidRuntime] at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) [AndroidRuntime]
Caused by: java.lang.RuntimeException: Unable to find application
Mono.Android.Platform.ApiLevel_23 or Xamarin.Android.Platform!
[AndroidRuntime] at
mono.MonoRuntimeProvider.attachInfo(MonoRuntimeProvider.java:38)
[AndroidRuntime] at
android.app.ActivityThread.installProvider(ActivityThread.java:5153)
[AndroidRuntime] ... 10 more [AndroidRuntime] Caused by:
android.content.pm.PackageManager$NameNotFoundException:
Xamarin.Android.Platform [AndroidRuntime] at
android.app.ApplicationPackageManager.getApplicationInfo(ApplicationPackageManager.java:304)
[AndroidRuntime] at
mono.MonoRuntimeProvider.attachInfo(MonoRuntimeProvider.java:32)
[AndroidRuntime] ... 11 more [Process] Sending signal. PID: 3218 SIG: 9

Email me at andy@greenrobot.com if you have any questions and don't want to
post them publicly.

~~~
xamcb
Hey,

Just emailed you via our support system :)

Thanks!

~~~
andy
Thank you, the problem is now resolved for me.

------
pritambaral
I'm just waiting for it to be available on Linux.

And no, MonoDevelop isn't the same thing. I'd like to be able to develop
Android apps using Xamarin on Linux, but MonoDevelop provides me no way to
even install Xamarin Android.

------
nsxwolf
Kind of confused by what this actually is. Can I do .NET development from a
Mac on this? As in, working in a ".NET Shop", use OS X as a development
machine instead of Windows?

~~~
dguaraglia
You could, but you don't get the same experience or UI kit as you do with
Visual Studio. Which is fine if you want to develop cross-platform apps, or
you just care about developing apps for macOS.

------
kennysmoothx
This is confirmed to be Xamarin Studio rebranded as VS for mac.

------
DonHopkins
How well does this support Unity development and debugging?

~~~
adanto6840
Is my number one question as well, as I use Unity/MonoDevelop combo all day
every day. And, as much as Mono crashes on Mac, it's still a pretty darn solid
IDE overall, especially coming from bare-bones tools like Sublime & TextMate.

I downloaded this a bit ago and the install just finished; thus far (<5
minutes invested, admittedly) I'm at a loss as to how I'd even open the Unity
project code, much less get the integration setup. Hopefully someone more
familiar with VS & Unity on Windows may be able to provide some guidance...

~~~
OskarS
If you install OmniSharp, it gives you all the linting, compiling and code
completion you need. I develop for Unity using Vim and OmniSharp, and it works
great. I haven't tried Sublime with OmniSharp, but a colleague of mine reports
that it works great, he doesn't miss MonoDevelop at all. The only thing you're
missing, really, is the debugging stuff in MonoDevelop, but I hardly ever used
that anyway.

------
donatj
I'm excited but it errors out for me on the Java installer failing to open a
DMG it downloaded. Seems odd that it requires Java at all…

------
gwbas1c
The installer crapped out on my clean macOS VM.

:(

My development Mac is pretty sensitive to the version of mono installed, so I
don't want to screw around with it.

------
sakopov
So this isn't just for Mac apps? Are there templates for .NET Core console and
web apps?

~~~
manicgeek
Yes, there are templates for .NET Core Console and ASP.NET Core apps

------
PerfectElement
Does it support ASP.NET MVC 5?

~~~
mixedCase
Well I've been trying to work with MVC 5 in MonoDevelop and the integration
seems to be there, but I get crashes when opening Razor markup files
(*.cshtml).

So... maybe?

------
ppcdeveloper
Can anyone guestimate how much this thing will actually cost?

------
joestr87
I was like what the hell is Mac Preview?

------
mirekrusin
I like this tea cup - alternative to j.

------
clbrook
Link change: [https://www.visualstudio.com/vs/visual-studio-
mac/](https://www.visualstudio.com/vs/visual-studio-mac/)

Moderator, can you update?

~~~
chocks
Just an FYI.. The download button doesn't seem to work. Seems some files on
this page has a CORS policy violation: "Access to Font at
'[https://c.s-microsoft.com/static/fonts/segoe-ui/west-
europea...](https://c.s-microsoft.com/static/fonts/segoe-ui/west-
european/normal/latest.woff') from origin
'[https://c.s-microsoft.com'](https://c.s-microsoft.com') has been blocked by
CORS policy: The 'Access-Control-Allow-Origin' header has a value
'[https://www.microsoft.com'](https://www.microsoft.com') that is not equal to
the supplied origin. Origin
'[https://www.visualstudio.com'](https://www.visualstudio.com') is therefore
not allowed access."

------
kentosi
Given the title, and the fact that this site is currently down, I can't help
but think that this could've be the cruelest yet funniest April Fool's joke
ever.

