Getting Started

  • Visual Studio Community for Macをインストール。
    • macOS Sierra (10.12.6)
  • 新しいプロジェクトでコンソール プロジェクト(VBNet)を作成。
    • プロジェクト名はVBNetOnMac
  • ビルド
    • 2個のエラー
/Library/Frameworks/Mono.framework/Versions/5.10.0/lib/mono/msbuild/15.0/bin/Roslyn/Microsoft.VisualBasic.Core.targets(5,5): Error MSB3883: Unexpected exception:  (MSB3883) (VBNetOnMac)
/Library/Frameworks/Mono.framework/Versions/5.10.0/lib/mono/msbuild/15.0/bin/Roslyn/Microsoft.VisualBasic.Core.targets(5,5): Error: System.ComponentModel.Win32Exception (0x80004005): ApplicationName='vbnc.exe', CommandLine=' /noconfig @"/var/folders/xy/m_773kwn4ks42_736fwhs24nqtj8ww/T/tmp14acb566d0f142e5882266a40943b4da.rsp"', CurrentDirectory='', Native error= Cannot find the specified file
  at System.Diagnostics.Process.StartWithCreateProcess (System.Diagnostics.ProcessStartInfo startInfo) [0x002dc] in /Users/builder/jenkins/workspace/build-package-osx-mono/2017-12/external/bockbuild/builds/mono-x64/mcs/class/System/System.Diagnostics/Process.cs:775 
  at System.Diagnostics.Process.Start () [0x0003a] in /Users/builder/jenkins/workspace/build-package-osx-mono/2017-12/external/bockbuild/builds/mono-x64/mcs/class/referencesource/System/services/monitoring/system/diagnosticts/Process.cs:2005 
  at (wrapper remoting-invoke-with-check) System.Diagnostics.Process.Start()
  at Microsoft.Build.Utilities.ToolTask.ExecuteTool (System.String pathToTool, System.String responseFileCommands, System.String commandLineCommands) [0x000c9] in /Users/builder/jenkins/workspace/build-package-osx-mono/2017-12/external/bockbuild/builds/msbuild-15/src/Utilities/ToolTask.cs:862 
  at Microsoft.CodeAnalysis.BuildTasks.ManagedCompiler.ExecuteTool (System.String pathToTool, System.String responseFileCommands, System.String commandLineCommands) [0x00066] in <896b154c97654cea80889fd96e18abdc>:0 (VBNetOnMac)

分からんw

気を取り直して

Monoのサイトを見ると、

We recommend this package if you're using Visual Studio for Mac since the stability of Visual Studio for Mac is only guaranteed with the Visual Studio channel releases.

と書かれているので、Visual Studio channel(5.8.0)をインストールして再度ビルド。さっきとは違うエラーが1個。

/Library/Frameworks/Mono.framework/Versions/5.8.0/lib/mono/msbuild/15.0/bin/Roslyn/Microsoft.VisualBasic.Core.targets(5,5): Error MSB3082: Task failed because "vbc.exe" was not found. (MSB3082) (VBNetOnMac)

vbc.exeって5.10.0にはあるんだけど‥。

ちなみに、使うMonoはユーザー設定-.NET ランタイムで選択できる。

一から

  • Visual StudioとMonoをアンインストールして、Visual Studioを再インストール。
    • あれ?Monoのバージョンが5.8だ。5.10って昔インストールしてたのかな‥。
  • ビルド
    • 1個のエラー
/Library/Frameworks/Mono.framework/Versions/5.8.1/lib/mono/msbuild/15.0/bin/Roslyn/Microsoft.VisualBasic.Core.targets(5,5): Error MSB3082: Task failed because "vbc.exe" was not found. (MSB3082) (VBNetOnMac)

状況変わらずw

ベータ版

最新のベータ版にアップデート。
Visual Studio for Mac version 7.5 Preview 1

  • ビルド
    • 2個のエラーw
/Library/Frameworks/Mono.framework/Versions/5.10.0/lib/mono/msbuild/15.0/bin/Roslyn/Microsoft.VisualBasic.Core.targets(5,5): Error MSB3883: Unexpected exception:  (MSB3883) (VBNetOnMac)
/Library/Frameworks/Mono.framework/Versions/5.10.0/lib/mono/msbuild/15.0/bin/Roslyn/Microsoft.VisualBasic.Core.targets(5,5): Error: System.ComponentModel.Win32Exception (0x80004005): ApplicationName='vbnc.exe', CommandLine=' /noconfig @"/var/folders/xy/m_773kwn4ks42_736fwhs24nqtj8ww/T/tmp3279d92fd08b488aaf63ff5708f3691f.rsp"', CurrentDirectory='', Native error= Cannot find the specified file
  at System.Diagnostics.Process.StartWithCreateProcess (System.Diagnostics.ProcessStartInfo startInfo) [0x002dc] in /Users/builder/jenkins/workspace/build-package-osx-mono/2017-12/external/bockbuild/builds/mono-x64/mcs/class/System/System.Diagnostics/Process.cs:775 
  at System.Diagnostics.Process.Start () [0x0003a] in /Users/builder/jenkins/workspace/build-package-osx-mono/2017-12/external/bockbuild/builds/mono-x64/mcs/class/referencesource/System/services/monitoring/system/diagnosticts/Process.cs:2005 
  at (wrapper remoting-invoke-with-check) System.Diagnostics.Process.Start()
  at Microsoft.Build.Utilities.ToolTask.ExecuteTool (System.String pathToTool, System.String responseFileCommands, System.String commandLineCommands) [0x000c9] in /Users/builder/jenkins/workspace/build-package-osx-mono/2017-12/external/bockbuild/builds/msbuild-15/src/Utilities/ToolTask.cs:862 
  at Microsoft.CodeAnalysis.BuildTasks.ManagedCompiler.ExecuteTool (System.String pathToTool, System.String responseFileCommands, System.String commandLineCommands) [0x00066] in <896b154c97654cea80889fd96e18abdc>:0 (VBNetOnMac)

Monoが5.10.0で上書きされてたw (5.8.1消えてるし)

.exe?

Mac(Linux)なのになぜ.exeなんだろう?と薄々思っていましたが、なんやかんやをWindowsと共通にするためだろう、と勝手に納得していました。ところが、bin/vbncなんてものがあるじゃないですか。もしかして‥?

  • Microsoft.VisualBasic.Core.targets内のvbnc.exevbncに置換。(二箇所)
  • ビルド
    • ビルドに成功しました

Hello world!

Press any key to continue...

Gtk#も大丈夫!

gtk.png

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.