必備條件
在 Visual Studio 計算機上,需要安裝ASP.NET 和 web 開發工作負荷或 .net Core 跨平台開發工作負荷。
在 Linux 服務器上,需要安裝 SSH 服務器,並將其解壓縮,並安裝 wget。 例如,在 Ubuntu 上,可以通過運行以下內容來實現此目的:
sudo apt-get install openssh-server unzip curl yum install openssh-server
生成並部署應用程序
准備應用程序以進行調試:
-
請考慮在生成應用程序時使用調試配置。 調試零售編譯的代碼(發布配置)比調試編譯的代碼更難。 如果需要使用 Release 配置,請先禁用僅我的代碼。 若要禁用此設置,請選擇 "工具" > 選項" > 調試",然后取消選中 "啟用僅我的代碼"。
-
請確保將項目配置為生成可移植的 pdb (這是默認設置),並確保 PBD 與 DLL 位於同一位置。 若要在 Visual Studio 中配置此項,請右鍵單擊該項目,然后選擇 "屬性" > 生成 > 高級 > 調試信息"。
在調試之前,可以使用多種方法來部署應用。 例如,你能夠:
-
將源復制到目標計算機,並在 Linux 計算機上生成
dotnet build
。 -
在 Windows 上生成應用程序,並將生成項目傳輸到 Linux 計算機。 (生成項目由應用程序本身、它可能依賴的任何運行庫以及 .deps.json文件組成。)
附加調試器
配置計算機后,在 Linux 計算機上啟動該應用程序,然后便可以附加該調試器。
-
在 Visual Studio 中,選擇 "調試" > "附加到進程 ... "。
-
在 "連接類型" 列表中,選擇 " SSH"。
-
將連接目標更改為目標計算機的 IP 地址或主機名。
-
查找要調試的進程。
你的代碼在唯一進程名稱或名為 dotnet 的進程中運行。 若要查找你感興趣的進程,請檢查 " Title " 列,其中顯示了該進程的命令行參數。
在下面的示例中,將在 "附加到進程" 對話框中顯示的 SSH 傳輸上看到遠程 Linux 計算機上的進程列表。
-
選擇 “附加” 。
-
在出現的對話框中,選擇要調試的代碼類型。 選擇 "托管(.Net Core For Unix) "。
-
使用 Visual Studio 調試功能來調試應用程序。
在下面的示例中,你將看到 Visual Studio 調試器在遠程 Linux 計算機上運行的代碼的斷點處停止。
改造程序我這里用的是控制台這塊方便附加時間等待
發布
這些文件考進linux(linux 需要安裝 netcore環境 )下面是CenterOS 安裝方法
其他系統參考這個官方文檔
https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-package-manager-ubuntu-1910
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm sudo yum install aspnetcore-runtime-3.1 sudo yum install dotnet-runtime-3.1
運行
dotnet test.dll
這里會暫停住 我們開始遠程連接
打開 vs
這個連接需要下載安裝
有時點擊查找無法發現 linux (此處很坑)我弄了很久很久很久。。。。。后來發現 不要點擊查找
返回 點擊 刷新
然后 返回 shell 回車
進入斷點 調試開始。