2011-08-09 34 views
2

我使用的是單聲道工具從mono-tools.org,當我嘗試使用單菜單運行我的ASP MVC3項目單,我得到以下錯誤:單工具在單.NET運行4

enter image description here

有沒有辦法使用.net 4編譯器進行編譯?我已經將項目文件中的targetFramework設置爲v4.0。

我也嘗試在單聲道工具高級頁面上設置命令行參數爲--with-profile4=yes,這仍導致相同的錯誤。從單--version

Mono JIT compiler version 2.10.2 (tarball) 
Copyright (C) 2002-2011 Novell, Inc and Contributors. www.mono-project.com 
    TLS:   normal 
    SIGSEGV:  normal 
    Notification: Thread + polling 
    Architecture: x86 
    Disabled:  none 
    Misc:   softdebug 
    LLVM:   supported, not enabled. 
    GC:   Included Boehm (with typed GC and Parallel Mark) 

回答

2

targetFramework屬性不會在這方面存在

輸出 - 您的應用程序的配置進行檢查時,運行時已經開始。在它讀取你的web.config之前,它需要知道什麼框架版本。

你需要在你的Apache配置中處理這個。見this question。您需要使用Apache指令MonoServerPath來告訴Apache mod_mono託管進程是/usr/bin/mod-mono-server4(或者您的機器上的任何路徑)。

如果您使用XSP進行部署,則必須運行xsp4

(IIS是不是在這方面的特殊要麼 - 你有你的應用程序分配給應用程序池,你必須明確地設置運行時版本爲每個池創建。)

附註:如果您正在使用的工具將此屬性添加到您的配置中,這是該工具中的一個錯誤。

+0

我在visual studio中使用單聲道工具2.0.8152,沒有在生產服務器上運行Mono。單聲道工具有一個選項「單聲道運行」,它試圖在使用mono而不是.net運行之前編譯web應用程序。 – Darbio

+0

那麼它可能會爲你調用'xsp4'。 'targetFramework'屬性是否存在於你的web.config中,或者是添加它的工具? – cdhowie

+0

它存在於我的web.config中''。看起來單聲道工具實際上是使用.net 2調用服務器 - 所以這可能是關鍵。但是我找不到說明如何將目標設置爲xsp4的任何地方 – Darbio