Лучшее, о чем я мог подумать, это настроить вашу библиотеку так:
[Conditional(#XNA),
Conditional(#WINDOWS_PHONE)]
public void DoSomeWork()
{
var x = null;
x = DoSomeXNAWork();
x = DoSomeWP7Work();
if (x != null)
{
...
}
}
[Conditional(#XNA)]
private ?? DoSomeXNAWork()
{
return ??;
}
[Conditional(#WINDOWS_PHONE)]
private ?? DoSomeWP7Work()
{
return ??;
}
Затем просто убедитесь, что у проекта, ссылающегося на эту библиотеку, установлена директива. Вроде как Microsoft использует условные классы Debug, такие как Debug.WriteLine(...)
. Я не уверен, как вы могли бы заставить его использовать 2 разных файла конфигурации. Я уверен, что есть способ, потому что, когда вы создаете новый веб-проект (ASP.NET), есть файл конфигурации, который разделен на Web.Debug.config и Web.Release.config. Я не смог найти ответ, как это сделать за пределами ASP.NET.