2013-03-15 213 views
-1

我有一個使用Monodevelop 3和MonoMac庫創建的GUI的C#應用​​程序。生成後,我得到一個嵌入式單聲道v3運行時的mac應用程序。如何將命令行參數傳遞給MonoMac應用程序?

應用程序運行正常,但它沒有收到我傳遞給它的任何命令行參數。

static void Main (string[] args) 
{ 
// args are always empty 
} 

我試着用

open -a /Applicaitons/MyApp.app --args my_command_line_arg 

,甚至只是運行生成的可執行文件直接

/Applicaitons/My.app/Contents/MacOS/MyApp my_command_line_arg 

回答

0

在應用程序的MonoMac捆,實際的 '應用' 通常是一個shell通過他們腳本和AFAIK它不會將它的參數傳遞給可執行文件。

我不認爲目前這是可能的;我聽說有人通過使用環境變量來解決這個問題。

+0

我嘗試了Alex所做的一切,它的工作很好。我猜如果它在我的項目中起作用,這個答案就不完全正確。我想在最新版本的MonoMac中有一個錯誤修復解決了之前觀察到的問題。 – 2014-02-11 13:33:10

-1

如果通過shell腳本調用命令行參數,則可以將命令行參數傳遞給MonoMac應用程序。從Running Mono Applications

(...)如果你有 「myprogram.exe」 你可以創建叫了內容爲 「myprogram」 shell腳本 :

#/ bin/sh的
在/ usr/bin中/單/usr/lib/APPLICATION/myprogram.exe 「$ @」

當你運行 「myprogram」 shell將取代$ @與 您提供的任何參數。

這適用於我在Xamarin Studio中構建的MonoMac應用程序。

+0

這是一個有趣的想法,但是如何將單聲道運行時嵌入到應用程序中並且不在計算機上單獨存在時如何應用它? – alex 2013-04-18 20:01:01

0

我試過用最新版本的Xamarin Studio(4.2.2,build 2)和MonoMac,它工作得很好。看來,MonoMac曾經有一個現在已經修復的bug。

相關問題