Я хочу загрузить .NET 2.0 dll в мою .Net4.0 dll . Я выполнил поиск решения и обнаружил атрибут 'useLegacyV2RuntimeActivationPolicy', который я могу добавить в свой app.config, как показано в этом URL: Сборка в смешанном режиме построена для версии 'v1.1.4322'
Но проблема для меня заключается в том, что в моем случае я пытаюсь использовать DLL-файл .net2.0 в моей 4.0 DLL, а не в 4.0 exe . Причина в том, что 4.0 dll затем используется в Excel в качестве надстройки автоматизации.
В настоящее время, когда я получаю доступ к своему .NET 4.0 API (который загружает 2.0 dll для функции) из Excel, я получаю «смешанный режим 2.0 dll не может быть загружен во время выполнения 4.0», что понятно, так как COM загрузил 4.0 CLR и, следовательно, не может загрузить 2,0 DLL.
Каким-то образом мне нужно сделать мою DLL 4.0 для загрузки среды выполнения 2.0. Я попытался добавить app.config в 4.0 dll, но я полагаю, что только .exe читает app.config по умолчанию для загрузки clr.
Это то, что у меня есть в моем app.config в проекте 4.0 dll, но бесполезно.
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<runtime>
<NetFx40_LegacySecurityPolicy enabled="true"/>
</runtime>
</configuration>
Как решить эту проблему, чтобы моя .NET 4.0 DLL могла использовать .NET 2.0 dll?
Спасибо,
Mani