2009-11-16 50 views
1

我無法讓我的.NET 2.0應用程序(和服務)在Windows Server 2003 Standard Edition SP2上加載它們的appname.exe.config文件,Windows Server 2003上的.NET 2.0應用程序不會加載.config文件

我試圖像this創建的清單,但它並沒有奏效

編輯:

  • Appname.config位於同一目錄,
  • 應用工作沒有在Windows XP中的任何改變,一旦我們移動文件s或使用安裝程序在2003上進行安裝,它無法加載.config文件。
  • 可執行文件的「工作目錄」與其路徑相同!而從XP移動它到2003

我已經試過過程監控,我們沒有改變任何東西,它說運營的CreateFile和QueryOpen:名稱不能發現那位,這樣文件就不會存在,但我敢保證,它是!

我認爲這可能是一個機智的清單文件下200,根據該thred上MS Connect

,但我不知道如何解決這個問題。

+0

我想我得到同樣的問題。我提出了這個問題,但我認爲現在只是:當你有一個清單,app.config無法讀取使用System.Configuration.ConfigurationManager.GetSection。 http://stackoverflow.com/questions/1868219/why-does-castle-windsor-constructor-crash-on-windows-server-2003-with-a-manifest – 2009-12-23 11:07:43

回答

2

這可能是解決辦法:

http://blogs.msdn.com/junfeng/archive/2006/08/09/692996.aspx

要解決的bug,添加一個assemblyIdentity到的SxS清單。

<?xml version="1.0" encoding="utf-8"?> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <assemblyIdentity 
    version="1.0.0.0" 
    name="Foo" 
    type="win32" 
    /> 

    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> 
     <security> 
     <requestedPrivileges> 
     <requestedExecutionLevel 
      level="asInvoker" 
      uiAccess="false"/> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 
</assembly> 
-1

你是什麼意思不能加載?任何異常消息.Net會向您發送?或者它只是默默地死亡?

您的應用應加載yourexe.exe.config,即mainform.exe.config,其中mainform.exe是您的應用名稱。

+0

謝謝,我的意思是appname.exe.config(我更正) - 它無法加載,我也厭倦了appname.config(沒有「.exe」),因爲我在網上發現它可以解決問題,但是這兩種方法都無效。 – michael 2009-11-16 15:31:27

1

想到兩件事: 首先,配置文件是否與可執行文件位於同一目錄中?

二,是可執行文件的「工作目錄」與其路徑相同嗎?如果工作目錄不正確,那麼它將無法找到該文件。

還有一件事要做的是獲得sysinternals的副本,特別是進程資源管理器工具,以查看它試圖加載的文件(和路徑)。

+0

非此,恐怕,但是,謝謝我也檢查過程監視器,它說在打開appname.config文件時找不到名稱,我認爲它可能與清單文件 – michael 2009-11-16 16:44:05

相關問題