開發工具
- Visual Studio 2017
Visual Studio 下載地址,安裝或者更新到最新版。
安裝過程很簡單,直接按照提示一步一步操作即可,需要注意的是在安裝時需要勾選 .NET Core 跨平臺開發
,安裝大概需要十幾分鍾或幾十分鐘:

Visual Studio 2017 安裝(勾選 .NET Core 跨平臺開發)

Visual Studio 安裝成功
- 安裝 NeoContractPlugin 外掛
開啟 Visual Studio 2017,開啟 工具
, 擴充套件和更新
,在左側點選 聯機
,搜尋 Neo,安裝 NeoContractPlugin
外掛(該過程需要聯網):

工具 -> 擴充套件和更新

聯機 -> 搜尋“Neo” -> 下載“ NeoContractPlugin”
下載好後,關閉視窗,並關閉 Visual Studio,在彈出的視窗上選擇“修改”:

關閉 Visual Studio -> 選擇“修改”

關閉視窗
- neo-compiler
在 Github 上下載 neo-compiler專案,用 Visual Studio 2017 開啟該解決方案,釋出其中的 neon 專案:

檔案 -> 開啟 -> 專案/解決方案

選擇剛剛下載的 neo-compiler 專案

開啟後的介面(右側)

選中 neon

右鍵 -> 釋出

Configuration 和 Target Runtime 兩個引數根據自己的需要修改並儲存
neon 專案預設的釋出平臺為 win10-x64,如果你不是 Windows10 系統,需要修改釋出平臺,用文字編譯器開啟 neon.csproj 檔案,將
<RuntimeIdentifiers>win10-x64</RuntimeIdentifiers>
更改為目標平臺,如<RuntimeIdentifiers>win7-64\</RuntimeIdentifiers>
,然後用 VS 重新發布該專案即可。詳細 RID 可以參考 .NET Core Runtime IDentifier (RID) catalog

點選發布

釋出成功
【注】在釋出過程中遇到的問題:

釋出失敗

tmp966A.tmp
諮詢NEO的開發人員,說是 vs2017 和 dotnetcore 這塊有點問題,建議我使用命令列釋出:
進入neon 目錄
執行命令: dotnet publish -r win10-x64 -c debug
r引數 c引數可以根據你的喜好填寫

執行命令 dotnet publish -r win10-x64 -c debug
驗證是否成功,到該目錄下檢視是否有exe 檔案,有的話就說明成功了:
C:\Users\Allen\Downloads\neo-compiler-master\neo-compiler-master\neon\bin\Release\netcoreapp1.0\win10-x64\publish\
複製程式碼

存在 neon 應用程式檔案
命令執行成功後,重新點選一下“釋出”按鈕即可。
- 修改環境變數
釋出成功後,會在 bin\Release\PublishOutput
目錄下生成 neon.exe
檔案:

bin\Release\PublishOutput
然後需要新增 path,讓任何位置都能訪問這個 exe 程式:
開啟檔案資源管理器 -> 此電腦 -> 屬性:

計算機 -> 屬性
點選“高階系統設定”,選擇“環境變數”:

高階系統設定 -> 環境變數

環境變數介面
選中系統變數中的 Path,點選“編輯”:

Path -> 編輯

新建

拷貝該路徑

貼上並確定

再次確定
新增完 path 後,執行 CMD 或者 PowerShell 測試一下(如果新增 path 前就已經啟動了 CMD 則要關掉重啟),輸入 neon 後,沒有報錯,輸出如圖所示的版本號的提示資訊即表示環境變數配置成功:

驗證環境變數是否配置成功
建立專案
以上四步安裝配置成功後,即可在 Visual Studio 2017 中建立 NEO 智慧合約專案(.NET Framework 版本任意):

新建 -> 專案

建立 NEO 智慧合約專案
建立專案好後,會自動生成一個 c# 檔案,預設的類繼承於 SmartContract:

智慧合約 c# 檔案
出現錯誤:新建的 NeoContract 專案找不到 Neo 名稱空間
解決方法:
在 VS 中右鍵解決方案檔案,點選 “還原 NuGet 程式包” ,這時在 “輸出” 皮膚會看到 “正在還原 NuGet 程式包…”。所有程式包已經還原成功後,如果程式碼仍然報錯,並且右側 “引用” 中仍有個感嘆號,可以嘗試雙擊感嘆號:

還原 NuGet 程式包

雙擊“引用”中的感嘆號

錯誤解決
編譯專案
點選選單欄上的“生成” -> “生成解決方案”(快捷鍵 Ctrl + Shift + B)開始編譯程式:

生成解決方案

編譯成功
編譯成功後你會在該專案的 bin/Debug
目錄下看到生成的 專案名.avm
檔案,該檔案即是生成的 NEO 智慧合約檔案:

智慧合約檔案(專案名.avm)
總結
歡迎留言討論,有錯誤請指出,謝謝!
參考連結
更新日誌
- 2018.02.23 第一次更新
- 2018.08.07 第二次更新
作者:AlleniCoder
連結:https://www.jianshu.com/p/d0da4ec13716
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。
Discord:discord.io/neo Telegram英文群:t.me/NEO_EN Telegram中文群:t.me/NEO_Chinese 開發者交流QQ群:795681763 |