0

C# で開発された Excel アドイン ソリューションをコンパイルしようとしています。コンパイル時にはすべてうまくいきますが、最後に次のメッセージが表示されます。

エラー 1 アセンブリ "C:\Users\bandrade\HTBase\Programs\Palo\HTOSE\HTOSE\2.5\XlAddin\bin\Debug\Jedox.Palo.XlAddin.dll" を登録できません。ファイルまたはアセンブリ 'Jedox.Palo.Comm.dll' またはその依存関係の 1 つを読み込めませんでした。指定されたモジュールが見つかりませんでした。C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets 3341

誰にもアイデアはありますか?

私が行ったテストの 1 つは、「COM 相互運用に登録する」のチェックを外すと、正常にコンパイルされ、このエラーは消えますが、.dll が Excel で認識されず、次のエラー メッセージが表示されます。

「.dll は有効な Excel アドインではありません」

"Register for COM interop" のチェックを外さずに正常にコンパイルするにはどうすればよいですか?

これは、エラー プロンプトを作成するルーチンです。

Registers the main assembly for COM interop.
============================================================
-->
<PropertyGroup>
    <UnmanagedRegistrationDependsOn></UnmanagedRegistrationDependsOn>
</PropertyGroup>
<Target
    Name="UnmanagedRegistration"
    Condition="'$(RegisterForComInterop)'=='true' and '$(OutputType)'=='library'"
    DependsOnTargets="$(UnmanagedRegistrationDependsOn)"
    >

    <RegisterAssembly
        Assemblies="@(_OutputPathItem->'%(FullPath)$(TargetFileName)')"
        TypeLibFiles="@(_OutputPathItem->'%(FullPath)$(TargetName).tlb')"
        AssemblyListFile="@(_UnmanagedRegistrationCache)"
        CreateCodeBase="true"
        Condition="!Exists('@(_UnmanagedRegistrationCache)')"/>

    <ItemGroup>
        <FileWrites Include="@(_OutputPathItem->'%(FullPath)$(TargetName).tlb')"/>
    </ItemGroup>
</Target>

前もって感謝します

4

0 に答える 0