.net 如何在使用hostfxr托管CoreCLR时设置AppContext.BaseDirectory

yhived7q  于 2023-03-09  发布在  .NET
关注(0)|答案(1)|浏览(218)

我正在使用hostfxr按照this sample/tutorial在我的本机应用中托管CoreCLR,我已经成功地设置了运行时,并获得了用于调用托管代码的函数指针。
但是,在托管应用程序中,AppContext.BaseDirectory属性总是一个空字符串。我尝试用hostfxr_initialize_parameters.host_path传递主exe路径,还是一样。知道如何更改它吗?

6jjcrrmo

6jjcrrmo1#

dotnet discord上问了这个问题之后,我发现一些像这样的runtime properties可以用hostfxr_set_runtime_property_value来设置
应如下所示:

// after hostfxr_initialize_for_*
auto set_prop_fptr = (hostfxr_set_runtime_property_value_fn)get_export(lib, "hostfxr_set_runtime_property_value");
set_prop_fptr(cxt, L"APP_CONTEXT_BASE_DIRECTORY", L"C:\\foo");

相关问题