2015-06-04 6 views
0

У меня проблема с использованием dll C# на платформе 3.5 и 4.5. У меня есть основное приложение (неуправляемый код), в котором используется C# dll. И мне нужно настроить таргетинг на DLL на платформы 3.5 и 4.5. Для применения # еха C я использовал app.exe.config файл какC# multitarget platform dll

<?xml version="1.0"?> 
<configuration> 
    <startup> 
    <supportedRuntime version="v2.0.50727" /> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/> 
    </startup> 
</configuration> 

Я пытался поставить его в длле папки, в основной папке приложения с lib_name.config.dll и main_app.config.exe имя. Но это все еще не работает. Мне нужно настроить единую dll на обе платформы (поэтому я не могу использовать только рамки 3.5 или 4.5). Как использовать файл конфигурации для dll?

+0

файл .config все еще работает для неуправляемого программы хоста. Но он должен иметь имя этого EXE и храниться в том же каталоге, что и EXE. Написание пользовательского CLR-хоста, как правило, лучший подход, он может запросить конкретную версию CLR с помощью ICLRMetaHost :: GetRuntime(). –

ответ

0

Это одна из проблем управляемого кода. Я имею в виду, что если вы использовали «протокол/правила» для создания DLL, приложения, использующие эту DLL, должны понимать этот «протокол». Поэтому я не думаю, что это возможно.

Я всегда программирую библиотеки DLL с использованием неуправляемых (не .NET) C/C++, поэтому они являются байт-кодом и, если вы не используете определенные функции, они работают от Windows 95 до Windows 8, на любом языке программирования или платформе, даже .NET. ,

С уважением, Карлес