1
我有一個C#控制檯應用程序,我想在Linux上運行。我已經在MonoDevelop和我的機器上編譯它(Ubuntu 12.04 LTS,64位),它運行良好。但是,在我租用的VPS(相同的操作系統,但沒有X11),而應用程序啓動沒有問題,我在運行時遇到異常。單控制檯應用程序:Winforms方法拋出異常Linux上沒有X
導致異常的調用是類System.Windows.Forms.TextRenderer的MeasureText方法。如果您想知道該方法在控制檯應用程序中做了什麼,則需要測量以特定字體呈現的文本的長度,以計算正在創建的SVG文件中正確放置文本元素的位置。異常信息及以下堆棧跟蹤摘錄:
An exception was thrown by the type initializer for System.Windows.Forms.XplatUI
at System.Windows.Forms.TextRenderer.MeasureTextInternal (IDeviceContext dc, System.String text, System.Drawing.Font font, Size proposedSize, TextFormatFlags flags, Boolean useMeasureString) [0x00000] in <filename unknown>:0
at System.Windows.Forms.TextRenderer.MeasureText (System.String text, System.Drawing.Font font) [0x00000] in <filename unknown>:0
我想我已經正確安裝在服務器上有問題的字體,至少它表明,當我叫fc-list的。那麼我需要X還是有辦法解決這個問題?我只是想在服務器上安裝一些軟件包?如果沒有,我是否可以使用其他方法來實現文字測量?
您可以運行虛擬X11服務器,這可能是最簡單的解決方法,不會讓您更改任何代碼。 – 2013-04-27 07:44:29
謝謝,我要去嘗試,發現這個帖子在這裏,推薦xvfb,http://stackoverflow.com/questions/1337232/what-dummy-x-server-should-i-use-with-openoffice-上debian的。將回報如何去 – themik81 2013-04-29 11:35:17