Написание кросс-каркасного класса, ConfigurationManager и ConfigurationSettings - PullRequest
0 голосов
/ 17 февраля 2010

Я пытаюсь написать небольшой класс чтения web.config и хочу, чтобы он был доступен для всех решений .net Framework, которые я пишу.

Все идет хорошо, за исключением .net 1.1 и ниже, мне нужно использовать System.configuration.configurationsettings.appsettings, а после 1.1 я использую System.configuration.configurationmanager.appsettings.

Это немного расстраивает в минуту, и я хочу выяснить, есть ли способ сделать следующий псевдокод

if environment.version.major < 2 then
  use configurationsettings.appsettings
else
  use configurationmanager.appsettings.
end if

Я немного попробовал использовать type.gettype, чтобы обойти это, но я подумал, что это должно быть настолько простым решением, что у кого-то есть точный ответ.

1 Ответ

0 голосов
/ 17 февраля 2010

Можете ли вы сделать это, введя флаг в VS, перейдите в свойства проекта, в опции сборки, в условные символы компиляции, в которые вы можете ввести значение, например aspnet11 или aspnet2, и затем вы можете сделать условный код в вашем приложении, например:

#if aspnet11

#elseif aspnet2

#else

#endif

И, таким образом, вы можете создать несколько версий вашей библиотеки для нескольких платформ ...

НТН.

...