- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
即我只想重定向“设置”加载自身的位置。我环顾四周,我所能找到的都是涉及直接使用 System.Configuration 对象的解决方案 - 但如何将其重新连接到设置?
想要做的事情似乎是合理的 - 不明白为什么它看起来如此困难?欢迎任何解决方案!
最佳答案
当您在 app.config 中只有一个 configSection 时,Jims 解决方案是干净的。在我们的例子中,我们有几个 configSections(用于应用程序、库、nlog 等),我们只想从新位置加载整个文件。从最初的问题来看,这并不是很清楚。
最简单的方法似乎是使用带有 AppDomainSetup 对象的新 AppDomain,我们在该对象上将 ConfigurationFile 属性设置为新配置文件的路径。
接下来的问题是何时以及如何创建新的应用程序域。 This post提供了一个优雅的解决方案,似乎只需稍作修改即可使用。
1:添加启动事件处理程序:
Application x:Class="InstallTool.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="Window1.xaml"
Startup="AppStartup"
2:在该处理程序中(在默认应用程序域中)创建一个新的应用程序域——创建它只是递归调用 Startup 事件处理程序。当使用 (app closed) 完成新的应用程序域时,它会在“外部”应用程序域中中止启动。这避免了必须进行跨应用程序域调用或使用 Bootstrap 应用程序来创建新的应用程序域。
public void AppStartup(object sender, StartupEventArgs e) {
if (AppDomain.CurrentDomain.IsDefaultAppDomain()) {
string appName = AppDomain.CurrentDomain.FriendlyName;
var currentAssembly = Assembly.GetExecutingAssembly();
// Setup path to application config file in ./Config dir:
AppDomainSetup setup = new AppDomainSetup();
setup.ApplicationBase = System.Environment.CurrentDirectory;
setup.ConfigurationFile = setup.ApplicationBase +
string.Format("\\Config\\{0}.config", appName);
// Create a new app domain using setup with new config file path:
AppDomain newDomain = AppDomain.CreateDomain("NewAppDomain", null, setup);
int ret = newDomain.ExecuteAssemblyByName(currentAssembly.FullName, e.Args);
// Above causes recusive call to this method.
//--------------------------------------------------------------------------//
AppDomain.Unload(newDomain);
Environment.ExitCode = ret;
// We get here when the new app domain we created is shutdown. Shutdown the
// original default app domain (to avoid running app again there):
// We could use Shutdown(0) but we have to remove the main window uri from xaml
// and then set it for new app domain (above execute command) using:
// StartupUri = new Uri("Window1.xaml", UriKind.Relative);
Environment.Exit(0);
return;
}
}
关于c# - 从与应用程序二进制目录不同的位置加载 WPF app.config/MyApp.exe.config,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13584692/
抱歉,如果不解释整个情况,我想不出更具描述性的标题。 我正在使用 IIS7 和 Tomcat7。我使用 GWT 创建了一个 Web 应用程序,将其打包成一个 war 文件并将其部署在 Tomcat 上
我知道有几个主题与此有关,但几天后我无法定位并解决这个问题。到目前为止我已经完成的步骤: 已安装tomcat 8.5.8 更改了/opt/tomcat/conf/server.xml 中的以下行
(顺便说一下,我正在使用 WebSphere 7) 我有一个带有基本身份验证和配置的安全约束的 Java 网络应用程序(如下所示)。 当我在 http://localhost:9080/myapp/
在 Windows 批处理文件或命令提示符中,调用 start mspaint 和 mspaint 之间有什么区别?它们似乎在做完全相同的事情。 另一个例子,所有 4 个案例似乎都在做同样的事情。如果
在构建我的 C# .NET 项目时,“MyApp.vshost.exe”文件与 Visual Studio 2010 下的“MyApp.exe”一起放置在发布站中。分发“MyApp.exe”时,我应该
我正在使用 Firebase Auth signInWithPopup(),这绝对很棒。但最初配置时,弹出窗口显示: Choose an account to continue to myApp-12
我将 war 文件放在共享驱动器上。我在我的 tomcat ...\conf\Catalina\localhost\myapp.xml 中设置了 docBase,如下所示: 当共享驱动器启动时,tom
身份验证后,asp.net 将我的用户重定向到 .../myapp/default.aspx 而不是 .../myapp/ 有什么办法可以解决这个问题吗?我认为在 url 上包含额外的 default
我知道这听起来可能很愚蠢,但我只是想知道如果我在我的已安装应用程序列表中输入“myapp”而不是“myapp.apps.myappConfig”有什么区别。它与模型有关还是什么? 问候 最佳答案 如果
来自 vshost(在 VS 版本中运行) array pure 00:00:02.9634819 1200000000 Basic: 00:00:04.1682663 来自独立程序(编译版本)
我有错误: BadRequestError: app "dev~myapp" cannot access app "s~myapp"'s data 这很相似,但是 the opposite way a
我已经为我的软件制作了安装程序(使用Inno Setup),最终安装在 C:\Program Files (x86)\MyApp\myapp.exe 像往常一样在 Windows 平台上运行,并且运行
我正在尝试运行 Ratchet 应用程序演示,但我无法执行该文件 这是我的文件结构 /var/www/src/MyApp/ /var/www/src/MyApp/chat.php /var/www/s
这是我的Flutter中凸起按钮的代码,如果我更换 void main()=> runApp(MaterialApp(home:MyApp())); 与 void main()=> runApp(My
就在几天前,我成功将 Ionic 应用程序上传到 Apple Store,而在这一天,我收到了验证警告: The app references non-public selectors in Payl
使用 Morph Labs 的 Appspace 部署站点意味着无法自动将“myapp.com”重定向到“www.myapp.com”(并且无法访问 .htacess)。 是否有 rails 内方式来
当我使用 Java 时,我需要输入类似java -?的命令如果用户在最后输入-?,为什么应用程序知道这个来回复输出?请告诉我识别-?的c代码 最佳答案 它们作为参数传递给 main(): #inclu
我试过使用 Environment.CommandLine 来检查可执行文件,但这没有用,它总是显示 dll 文件。关于如何知道 myapp.exe 文件是否用于运行应用程序或者是否使用 dotnet
我有一个问题,大约 2 天我无法解决。我分析了几乎所有关于这个错误的问题,但我无法处理它。 这是我的树: MyAppRoot -MyApp -libs -jar4.jar
最近我在 Linux Centos 上遇到 Apache Tomcat 6.0.35 的问题。我收到错误 - java.lang.UnsupportedClassVersionError: myApp
我是一名优秀的程序员,十分优秀!