F # Interactive может работать с исполняемыми файлами, использующими app.config
файлы.
Способ сделать это состоит в том, чтобы в вашем проекте был файл .fs
, который загружает ваше условное .config
в COMPILED
, определяем так:
let GetMyConfig() =
let config =
#if COMPILED
ConfigurationManager.GetSection("MyConfig") :?> MyConfig
#else
let path = __SOURCE_DIRECTORY__ + "/app.config"
let fileMap = ConfigurationFileMap(path)
let config = ConfigurationManager.OpenMappedMachineConfiguration(fileMap)
config.GetSection("MyConfig") :?> MyConfig
#endif
затем в вашем файле скрипта укажите исполняемый файл, а #load
файл .fs
так:
#I "../Build/Path
#r "ConfiguredApp.exe"
#load "MyConfig.fs"
При выполнении этих трех строк вы увидите сообщение, подобное следующему в окне FSI:
[Loading C:\Svn\trunk\Source\ConfiguredApp\MyConfig.fs]
Binding session to 'C:\Svn\Qar\trunk\Build\Path\ConfiguredApp.exe'...
Обратите внимание, что вы на самом деле ссылаетесь на app.config
в FSI (а не на сгенерированный .exe.config
.)
Удачи ...