.Net4.0에 .NET 2.0 DLL을로드하고 싶습니다. dll. 나는 해결책을 찾았고이 URL과 같이 app.config에 추가 할 수있는 'useLegacyV2RuntimeActivationPolicy'속성을 찾았습니다. Mixed mode assembly is built against version 'v1.1.4322'.net 4.0 DLL에서 .net2.0 dll
하지만 제 경우에는 문제가 있습니다. .net2.0 dll이 내 4.0 DLL이고 4.0 exe 이 아닙니다. 그 이유는 4.0 dll이 Excel에서 자동화 추가 기능으로 사용되기 때문입니다.
현재 Excel에서 내 .NET 4.0 API (기능에 대한 2.0 dll을로드)에 액세스 할 때 '혼합 모드 2.0 dll은 4.0 런타임에로드 할 수 없습니다'라는 메시지가 표시됩니다. 이는 COM에로드 된 이후로 이해할 수 있습니다. 4.0 CLR 따라서 2.0 DLL을로드 할 수 없습니다.
어떻게 든 2.0 런타임을로드하려면 4.0 DLL을 만들어야합니다. 4.0 dll에 app.config를 추가하려고 시도했지만, .exe만이 기본적으로 clr을로드하기 위해 app.config를 읽습니다. 이것은 내 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 2.0 DLL을 사용하는 내 .NET 4.0 DLL 수 있도록이 문제를 해결합니까?
덕분에, 마니
일반 dll처럼 .net 2 dll을 추가하려고 했습니까? – Jethro
.NET 2.0 DLL이 아닌 것 같습니다. .NET 1.1 DLL입니다. –
.config 파일은 훌륭하지만 excel.exe.config이어야하며 Excel이있는 Office 디렉터리에 복사해야합니다. –