none
有辦法將C#code轉成機器碼直接在沒有裝CLR的電腦上執行嗎? RRS feed

  • 一般討論

  • 小弟想像c或c++一樣直接compile成機器碼的exe檔,然後可以在
    xp,vista OS的電腦上直接執行,不需透過.netframework這個平台
    ,不知道能不能辦到?
    註:在網路上有看到這ngen.exe的preJIT的工具,有人說能有人說不能辦到
    不知到底能不能?還是有其它方法?

    請前輩們不吝指教,謝謝!
    2009年3月15日 上午 01:39

所有回覆

  • HI,

    建議不要這樣做, 因為.NET程式執行時可以受到.NET平台安全管制和驗証機制的管轄, 直接做成native code在沒有裝CLR的電腦上執行, 這些優點就全沒了
    2009年3月15日 上午 02:51
  • 感謝回應,小弟的軟體已限制只能在xp vista的電腦上執行,所以不需要跨平台,
    也不需有安全認證的機制,而我希望轉成native code,是因為
    測試過如果要偵測任何電腦上是否安裝.netframework,然後再判斷是否安裝,
    以及安裝的過程是非常耗時,所以希望像傳統的c程式一樣compile完就可以直接執行,
    我相信一定有不少人有這種直接變成native code的需求,難道微軟沒有這樣的解決方案嗎?
    2009年3月15日 上午 04:00
  • 有一些 Thirdparty有近似的功能
    不過還是得要包相關的.NET Framework的檔案
    例如
    Mono http://www.mono-project.com/Main_Page
    Remotesoft Salamander .NET Linker http://www.remotesoft.com/linker/

    不過,也許會引發其它的問題,沒很仔細玩這些東西
    2009年3月15日 上午 04:13
    版主