音效素材网提供各类素材,打造精品素材网站!

站内导航 站长工具 投稿中心 手机访问

音效素材

Visual Studio for Mac版 初体验
日期:2021-09-07 22:28:13   来源:脚本之家

你喜爱的 IDE,现在可用于 Mac。因为在 Visual Studio for Mac 之前,已经有了 Visual Studio Code for Mac,那时候我们还以为 Visual Studio Code 就是 Visual Studio 的跨平台版本,但事实微软并不是这样想的,Visual Studio Code 相对于 Visual Studio 还是太简化了,企业级的应用开发 Visual Studio Code 还是有些力不从心,所以 Visual Studio for Mac 诞生了,以后说不准还会有 Visual Studio for Linux 等等。

Mac 电脑中进行 .NET 开发,我自己现在的情况是装 VMware Fusion,然后在虚拟机里面装 Windows 10,Windows 10 里面装 Visual Studio 2017,当然,Windows 10 只装 .NET 软件开发类的程序,如果你想在 Windows 10 里面装微信或者 QQ,那么建议你直接把 Mac 系统改为 Windows 10,我的原则是 Windows 10 只写代码,其他事在 Mac 上完成,但即便如此,只要虚拟机一开,然后再开两个 Visual Studio 2017,Mac 散热风扇就一直“嗡嗡嗡”的转,即使虚拟机内存分 8G,CPU 4个核心,也无济于事。

当然,如果 .NET 开发程序比较简单,或者是纯代码型的项目,就没必要去装虚拟机了,用 Visual Studio Code for Mac 或者其他编辑器就可以了。

当然,如果 Mac 能完整的进行 .NET 开发,就完美了,所以,赶快去装 Visual Studio for Mac 吧,啦啦啦~

安装步骤如下:

注:如果出现上面“无法连接到网络”错误,需要网络越墙下。

注:上面需要选择下安装的内容,全部安装的话需要 4.31G,如果不选择移动开发,只选择 .NET Core,只需要 897MB(我选的这个)

注:我选择安装内容之后,点击“安装”就突然卡死了,然后退出程序重新安装,就出现了上面的错误,我以为安装不了了,最后再安装一次的时候,又突然可以了,很奇怪,如果你遇到一些错误,就多安装几次就好了。

注:如果安装出现上面的错误,点击下“重试”,如果还是不行的话,就再点一次。

安装好之后,我们用实际项目 IdentityServer4.Demo 来测试 Visual Studio for Mac 是否可用?使用体验如何?能否进行企业级开发?

首先,用 Visual Studio for Mac 打开IdentityServer4.Demo.sln解决方案,发现打不开,报下面的错误:

报错信息:找不到.xproj类型的项目文件。

然后去项目文件夹中去找.xproj类型的项目文件,没找到,只有.csproj类型的项目文件:

然后用记事本打开IdentityServer4.Demo.sln解决方案:

复制代码 代码如下:
...Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{22BD0651-0313-496F-865B-9D6D94CB9407}"EndProjectProject("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{3FDA3CFF-E411-4166-A98C-42E1E5B252E3}"EndProjectProject("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "ClientCredentialsAndPassword.Web", "ClientCredentialsAndPassword.Web\ClientCredentialsAndPassword.Web.xproj", "{6BB34F8C-B0D7-4128-8DB9-9494591C0F94}"EndProjectProject("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "APISource.Web", "APISource.Web\APISource.Web.xproj", "{F4980DEB-57D3-4C7F-ADBF-7A9F01ED94B8}"EndProjectProject("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "ClientCredentialsAndPassword.Web.Tests", "ClientCredentialsAndPassword.Web.Tests\ClientCredentialsAndPassword.Web.Tests.xproj", "{6BB31592-9DC2-4BE7-8E77-8ECED21040F4}"EndProjectProject("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "ImplicitServer.Web", "ImplicitServer.Web\ImplicitServer.Web.xproj", "{118DE163-7D76-488F-BB99-F494101898D1}"EndProject...

IdentityServer4.Demo.sln解决方案文件里面,都是.xproj类型的文件。

IdentityServer4.Demo.sln解决方案是可以用 Visual Studio 2017 打开的,但为什么 Visual Studio for Mac 打不开?什么原因呢?还有就是,为什么IdentityServer4.Demo.sln解决方案里的文件类型和实际的文件类型不一致?

原因得从 IdentityServer4.Demo 项目的创建说起,IdentityServer4.Demo 用 Visual Studio 2015 创建的 .NET Core 项目,那时候项目程序包管理使用project.json文件,项目文件是.xproj,后来我装了 Visual Studio 2017,然后项目自动升级了下,project.json/.xproj变成了.csproj,微软把所有的项目文件扩展名改为了.csproj(详见:.NET Core 计划弃用 project.json),但并没有把解决方案文件中的.xproj改为.csproj,而只是让 Visual Studio 2017 做了兼容处理(为什么不全部更换掉?有点坑~)。

Visual Studio for Mac 不能像 Visual Studio 2017 那样做兼容处理,那怎么办呢?我们只能手动把IdentityServer4.Demo.sln解决方案文件中的.xproj改为.csproj了。

使用 Visual Studio for Mac 再次打开IdentityServer4.Demo.sln解决方案,经过一段时间的nuget restore后,就可以了:

在每个项目旁边有个“感叹号”(截图截不到),提示信息:

Project not built in active configuration

原因是没有安装最新版本的 .NET Core SDK,重新安装最新的版本就可以了。

参考资料:Project not build in active configuration Visual Studio MacOS .net Core

突然发现,很早之前就有了 Visual Studio for Mac,只不过那时叫 Visual Studio MacOS,而且是测试版,我以为今天才有的 Visual Studio for Mac 的,看来真是孤陋寡闻了。

重新编译整个解决方案,发现有错误(IdentityServer4.Demo 是成功的,但我试了其他项目失败,为了演示,代码是我手动添加的):

错误详情:

/Library/Frameworks/Mono.framework/Versions/5.0.0/lib/mono/msbuild/15.0/bin/Sdks/Microsoft.NET.Sdk/build/Microsoft.NET.Sdk.DefaultItems.targets(5,5): Error: 包含了重复的“Content”项。.NET SDK 默认情况下包括你项目中的“Content”项。可以从项目文件中删除这些项,或者如果希望将其显示包含在项目文件中,则可以将“EnableDefaultContentItems”属性设置为“false”。重复项为: 'Properties/launchSettings.json' (ImplicitServer.Web.Tests)

从上面可以看出错误原因,.NET SDK 默认包含Content项,我们就可以把.csproj文件中的Content包含项去除,去除如下:

<ItemGroup> <Content Include="Properties\launchSettings.json" /></ItemGroup>

重新编译解决方案,Build Successful:

然后右击项目选择“Run Item”,或者在菜单栏选择“Run - Restart Without Debugging”,就可以启动项目了。

调试项目也很简单,菜单栏选择“Run - Restart Debugging”,可以设断点调试:

另外,在 Visual Studio for Mac 中写代码还是很舒服的,和 Visual Studio 2017 差别并不是很大,智能提示很完善,甚至有些快捷键也支持了,比如输入if后按Tab键出来扩展代码。

Visual Studio for Mac 设置 Nuget Source:

从当前项目目录中,打开 Mac 终端命令:

Visual Studio for Mac 也有不太好的体验,比如:

一些图标太小,很难看清(比如git项目或文件变动图标,上面一些截图中是有的,但很难发现,还有一些工具图标等)一些按钮和 Tab 切换的体验很差,很生硬的感觉,但能使用就好,可以后面优化。兼容性不好,比如上面说的那个错误,IdentityServer4.Demo 项目使用没问题,但我试过一些实际工作项目,打开和使用还是有些问题。单元测试项目没办法打开(xUnit),如下图。

大概就这些吧,可能还有一些问题没有发现,但我觉得 Visual Studio for Mac 是可以真正用于开发的(企业开发,不是自己搞着玩),毕竟在 Mac 下进行 .NET Core 开发还是蛮爽的,不过微软在这一版 Visual Studio for Mac 上,主要做的是移动开发(宣传文章和安装选项中可以看到), .NET Core 服务的开发可能会有一些问题,但后面肯定会进行完善的,大家可以先用起来了,只是踩坑问题。

以上所述是小编给大家介绍的Visual Studio for Mac版 初体验,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

    您感兴趣的教程

    在docker中安装mysql详解

    本篇文章主要介绍了在docker中安装mysql详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编...

    详解 安装 docker mysql

    win10中文输入法仅在桌面显示怎么办?

    win10中文输入法仅在桌面显示怎么办?

    win10系统使用搜狗,QQ输入法只有在显示桌面的时候才出来,在使用其他程序输入框里面却只能输入字母数字,win10中...

    win10 中文输入法

    一分钟掌握linux系统目录结构

    这篇文章主要介绍了linux系统目录结构,通过结构图和多张表格了解linux系统目录结构,感兴趣的小伙伴们可以参考一...

    结构 目录 系统 linux

    PHP程序员玩转Linux系列 Linux和Windows安装

    这篇文章主要为大家详细介绍了PHP程序员玩转Linux系列文章,Linux和Windows安装nginx教程,具有一定的参考价值,感兴趣...

    玩转 程序员 安装 系列 PHP

    win10怎么安装杜比音效Doby V4.1 win10安装杜

    第四代杜比®家庭影院®技术包含了一整套协同工作的技术,让PC 发出清晰的环绕声同时第四代杜比家庭影院技术...

    win10杜比音效

    纯CSS实现iOS风格打开关闭选择框功能

    这篇文章主要介绍了纯CSS实现iOS风格打开关闭选择框,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作...

    css ios c

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的办法

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的

    Win7给电脑C盘扩容的办法大家知道吗?当系统分区C盘空间不足时,就需要给它扩容了,如果不管,C盘没有足够的空间...

    Win7 C盘 扩容

    百度推广竞品词的投放策略

    SEM是基于关键词搜索的营销活动。作为推广人员,我们所做的工作,就是打理成千上万的关键词,关注它们的质量度...

    百度推广 竞品词

    Visual Studio Code(vscode) git的使用教程

    这篇文章主要介绍了详解Visual Studio Code(vscode) git的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。...

    教程 Studio Visual Code git

    七牛云储存创始人分享七牛的创立故事与

    这篇文章主要介绍了七牛云储存创始人分享七牛的创立故事与对Go语言的应用,七牛选用Go语言这门新兴的编程语言进行...

    七牛 Go语言

    Win10预览版Mobile 10547即将发布 9月19日上午

    微软副总裁Gabriel Aul的Twitter透露了 Win10 Mobile预览版10536即将发布,他表示该版本已进入内部慢速版阶段,发布时间目...

    Win10 预览版

    HTML标签meta总结,HTML5 head meta 属性整理

    移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析HTML代码,更好地将移动web前端页面表现出来...

    移动端html5模拟长按事件的实现方法

    这篇文章主要介绍了移动端html5模拟长按事件的实现方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家...

    移动端 html5 长按

    HTML常用meta大全(推荐)

    这篇文章主要介绍了HTML常用meta大全(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参...

    cdr怎么把图片转换成位图? cdr图片转换为位图的教程

    cdr怎么把图片转换成位图? cdr图片转换为

    cdr怎么把图片转换成位图?cdr中插入的图片想要转换成位图,该怎么转换呢?下面我们就来看看cdr图片转换为位图的...

    cdr 图片 位图

    win10系统怎么录屏?win10系统自带录屏详细教程

    win10系统怎么录屏?win10系统自带录屏详细

    当我们是使用win10系统的时候,想要录制电脑上的画面,这时候有人会想到下个第三方软件,其实可以用电脑上的自带...

    win10 系统自带录屏 详细教程

    + 更多教程 +
    ASP编程JSP编程PHP编程.NET编程python编程