2011-11-29 68 views

回答

1

你有一些選擇,這取決於您是否可以更改和重新編譯控制檯應用程序或不:在不同的子目錄

  1. 可執行放副本和依賴庫,併爲每個提供自定義的app.config。就像每個客戶端機器的共享/子目錄一樣。當然,這可能會變成維護惡夢或佔用空間的體驗。對於簡單的解決方案/需求,它可能仍然是可行的。
  2. 作爲(1)的變體,將相同控制檯應用程序二進制文件的副本放在同一目錄中,並使用不同的名稱。將各個版本的app.config放在同一個目錄中,命名爲可執行文件的副本。同樣,即使不是更多,問題也與(1)相同,但可以工作,具體取決於您的具體要求。
  3. 從新的AppDomain重新啓動您的可執行文件本身。這使您可以爲新的應用程序域指定app.config的自定義路徑/文件名。無恥插頭:https://stackoverflow.com/a/3633158/21567。請注意,這種方法不限於在新的應用程序域內執行您自己的程序集。您也可以編寫一個託管的存根應用程序,它只是在您真正想運行的控制檯應用程序上執行一個ExecuteAssembly(可能無法更改),併爲其提供一個自定義的app.config。
  4. 編寫託管CLR自身的本機存根進程。這也將允許您指定要使用的app.config文件的路徑/名稱。
相關問題