App.Config解决方案失败

时间:2012-11-02 12:20:50

标签: c# .net wpf app-config enterprise-library

我有一个C#WPF应用程序遇到了一个奇怪的问题。该应用程序使用使用app.config配置的MS Enterprise Library(Logging)。我部署的文件因此是:

(名称已更改,文件名长度正确)

XXXXXXXXXXX.EXE

XXXXXXXXXXX.EXE.CONFIG

通常情况下这很好用。但是,在一个奇怪的情况下,应用程序由另一个程序启动,该程序根据它的短名称(XXXXXX~X.EXE)调用EXE。 EXE启动但后来继续查找不存在的app.config(XXXXXX~X.EXE.CONFIG)并且Logging类无法初始化。

我无法更改启动我们的程序,所以我试图找出在我的WPF代码中防范这种情况的方法。思想是......

1)重命名我的EXE并在EXE中间创建一个人。

2)检测我的EXE如何启动并正确重启。

3)某种AppDomain / ConfigurationManager重新授权(这可能吗?)

4)使用安装程序将App.Config克隆为短文件名版本(已确认可用)

有没有人见过这个,有任何建议/见解?

2 个答案:

答案 0 :(得分:1)

string realAppName = Process.GetCurrentProcess().MainModule.FileName;
System.AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", realAppName + ".config");

答案 1 :(得分:0)

如果您可以将exe更改为start,则调用

start.exe XXXXXXXXXX.exe