Dot-Net
在特定文件夾中部署 .NET 附屬程序集
我正在開發一個 C# .NET 應用程序,並且正在使用資源文件執行本地化。我有特定於文化的資源文件,例如:
- 我的資源.resx;
- MyResource.fr-FR.resx;
- MyResource.ja-JP.resx;
建構後,在應用程序根文件夾中,有 , 之類的文件
fr-FR夾ja-JP。例如,是否可以將所有本地化資源文件和文件夾移動到同一個文件夾中
Languages?更新1:
我用下面的程式碼解決了這個問題。似乎當我將應用程序複製到另一個地方時,它無法載入資源。正如我所看到的,application.config 文件也需要在那裡。如果我將 app.config 作為嵌入資源,它就不起作用。
有沒有辦法,如何在沒有同一目錄中需要的 .config 文件的情況下做到這一點?
謝謝
預設情況下,附屬程序集位於執行檔正下方的子目錄中。如果要將其他文化的所有
fr-FR和ja-JP剩余文件夾移動到同一文件夾Languages中,可以通過將以下條目添加到應用程序配置文件中來實現:<configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <probing privatePath="Languages"/> </assemblyBinding> </runtime> </configuration>這將表明,在搜尋程序集時,CLR 應在預設位置以及由元素
privatePath屬性指定的目錄中進行搜尋。probing您可以指定應用程序執行檔下存在的任何目錄。當指定多個子目錄時,您需要用分號分隔每個子目錄。