C# microsoft.office.interop.excel 사용 문제

안녕하세요~ 문제 해결을 위해 노력하다 혹시 해결 했던 분이 계시면 공유를 해주실 수 있을까 해서 글을 씁니다! ㅠㅠ
개발 환견 C# .NET 7 이고 COM 참조를 통해 microsoft.office.interop.excel( Microsoft Excel 16.0 Object Library )를 사용하고 있었습니다.
Window 환경 빌드에서 Linux 환경에서 build를 하려고

dotnet build --os win -a x64 

를 통해 build하려고 하니

 /7.0.100-rc.2.22477.23/Microsoft.Common.CurrentVersion.targets(2975,5): error MSB4803: The task "ResolveComReference" is not supported on the .NET Core version of MSBuild. Please use the .NET Framework version of MSBuild. See https://aka.ms/msbuild/MSB4803 for further details.

해당 에러가 떠서 COM 참조를 제거하고 Nuget package에 있는 microsoft.office.interop.excel (15.0.4795.1001)을 참조하여 build를 하니 해당 에러는 제거가 되었습니다.

하지만 실제로 microsoft.office.interop.excel 을 참조하는 코드에서 아래와 같은 에러가 발생했습니다.

Microsoft Office Interop word Version=15.0 0.0 Culture=neutral, PublicKeyToken=71e9bce111e9429c

혹시 해당 문제를 해결하셨거나 우회해서 다른방법을 사용하신 분들이 있으시면 공유 부탁드리겠습니다 ㅠㅠ

2 Likes

에러가 나면 이유를 알고 대처를 해야지, 에러나는 부분만 빼버리면 원인을 몰라서 나중에 더 어려워 집니다.
COM은 마이크로소프트의 기술이고 윈도 종속 기술입니다. interop 라는 참조가 왜 들어가는지도 이해를 해야합니다.

엑셀 파일 만드실려고 하시는거 같은데, 다른방법으로(엑셀 interop dll을 사용하지않고) 하는 방법을 찾아보시던지 하셔야 할것 같아요.

3 Likes

좋은 opensource가 있네요 ㅎㅎ

3 Likes