搭建一個舒適的 .NET Core 開發環境


最近,一直在往.Net Core上遷移,隨着工作的深入,發現.Net Core比.Net Framework好玩多了。不過目前還在windows下開發,雖然VisualStudio是宇宙第一神器,但是最近經常莫名其妙的重啟,讓我對它有些不放心了,干脆在MacOS搭建一個開發環境,還附帶裝13效果:)

  1. 首先安裝.Net Core SDK
  2. 安裝VS Code及插件
  3. 安裝Git
  4. 配置Nuget源,推薦使用博客園的鏡像
  5. 克隆代碼,然后編譯
  6. 由於涉及到跨域等問題,該項目必須使用域名地址寄宿
    public class Program
    {
        public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseUrls("http://project.domain.com:9000")
                .UseIISIntegration()
                .UseStartup<Startup>()
                .Build();

            host.Run();
        }
    }
  1. 因此需要手動設置host:打開Finder,Go -> Go to Folder: /private/etc/ 找到hosts文件,添加我們的域名解析(如下最后一行):
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1	localhost
255.255.255.255	broadcasthost
::1             localhost
127.0.0.1	project.domain.com
  1. dotnet run跑一下,使用project.domain.com:9000訪問

  2. 由於調用了其他項目的API,而在MacOS中沒有部署,所以報錯了。而其他項目目前還是沒有遷移,所以只能開虛擬機寄宿他們。

  3. 我們使用VMWare Fusion運行Windows10,設置Windows的上網方式為NAT,這樣還有個問題,那就是Windows的IP地址是動態分配的,所以下一步就是固定Windows的IP地址。

  4. 打開終端,進入/Library/Preferences/VMware Fusion/vmnet8,使用vi dhcpd.conf打開文件

subnet 192.168.199.0 netmask 255.255.255.0 {//子網掩碼
        range 192.168.199.128 192.168.199.254;//IP地址分布范圍
        option broadcast-address 192.168.199.255;//默認網關
        option domain-name-servers 192.168.199.2;//DNS
        option domain-name localdomain;
        default-lease-time 1800;                # default is 30 minutes
        max-lease-time 7200;                    # default is 2 hours
        option netbios-name-servers 192.168.199.2;
        option routers 192.168.199.2;
}
host vmnet8 {
        hardware ethernet 00:50:56:C0:00:08;
        fixed-address 192.168.199.1;
        option domain-name-servers 0.0.0.0;
        option domain-name "";
        option routers 0.0.0.0;
}

打開windows10的控制面板,設置當前的網絡的屬性中的TCP/IPV4的屬性,根據上面的注釋,依次填空,注意IP地址不能超過上面注釋中的范圍。
最后在Mac中ping一下虛擬機的地址,確認可以訪問。
如此,就能固定虛擬機的IP地址了,現在只要把需要用到的項目的地址在Hosts文件中設置好即可。

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1	localhost
255.255.255.255	broadcasthost
::1             localhost
127.0.0.1	project.domain.com
192.168.199.133 login.domain.com
192.168.199.133 common.domain.com

折騰了這么久,終於可以在Mac下愉快的玩耍了。


現在有個問題很尷尬,我們已經在hosts文件中,把域名指向了開發環境,那么我們自己要訪問生產環境的話,還需要更改hosts,這時候就可以發揮shell腳本的功能了。

個人比較喜歡powershell,推薦各位童鞋嘗試一下。

首先把/private/etc/hosts復制到~/Documents/shell/hosts/original/hosts,這個用於恢復正常環境,然后再復制一份到~/Documents/shell/hosts/modified/hosts,這一個用於開發環境。
然后再~/Documents/shell/下新建兩個powershell腳本,如下:

Copy-Item /Users/當前用戶名稱/Documents/shell/hosts/modified/hosts /private/etc/hosts
Write-Host "It's workspace!"

保存為To_workspace.ps1

Copy-Item /Users/當前用戶名稱/Documents/shell/hosts/original/hosts /private/etc//hosts
Write-Host "It's relax time!"

保存為To_relaxtime.ps1

使用方式

切換到開發環境,打開終端,輸入:powershell回車,把To_workspace.ps1直接拖進去回車。
同樣的,把To_relaxtime.ps1拖進去回車就會恢復正常狀態。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM