MicrosoftTranslator / DocumentTranslator-Legacy

Microsoft Document Translator (Archive) - Replaced by the MicrosoftTranslator/DocumentTranslation project in this repository.
Other
410 stars 153 forks source link

Build solution fails with 'Microsoft.Office.Core' not found #90

Closed tim-wovn closed 5 years ago

tim-wovn commented 5 years ago

I'm trying to build the DocumentTranslator solution but it fails with Microsoft.Office.Core not found. I think I've installed all the prerequisites for this project, but I am not familiar with .net development.

I searched online with my error message and found some discussion on stack overflow that the Microsoft.Office.Core libraries are provided with Microsoft Office. I don't have it installed on my machine at the moment and no Microsoft.Office references are available for me to include under "COM".

Is Microsoft Office required to build the library? If so, does it need to be any particular version and can this be added to the requirements list on the readme?

chriswendt1 commented 5 years ago

I think I have never tried it on a machine without Office, so I don't know for sure. At runtime Office is required to translate doc, xls, ppt (those are the pre-OpenXML file formats) and for pdf files. Office is used to convert these to OpenXML format, and only then they can be translated. DocumentTranslator doesn't need Office for any other file formats. It may very well be that something at build time checks for these. If you do not need to translate those file formats, you could consider removing the whole Office interop logic, or put it behind a compile time switch.

tim-wovn commented 5 years ago

That's good to know. Thank you for the information. For my case, I kept digging around and was able to build after reading this information: https://stackoverflow.com/a/47881824/10448969

Instead of referencing the comm 'Microsoft.Office.Core' there is an assembly simply called 'office' that can be installed with the Visual Studio Installer which contains the Core.

After that, I was getting lots of errors like The name "Interaction" does not exist in the namespace.... I had to install Blend from Visual Studio Installer and then link System.Windows.Interactivity 4.0.0.0

Now it builds just fine. I'm not sure if this configuration is very specific to my case or not. Maybe it will help out other people.

To summarize:

Open the Visual Studio Installer and add

Open Add to References (for the subprojects described in the error) In Assemblies >> Extensions add

chriswendt1 commented 5 years ago

Can you make a PR to master with your changes? I think it is beneficial if Office is not required for building. It is still required for testing.

tim-wovn commented 5 years ago

I tinkered with many settings in trying to get the build working--the state of my codebase probably isn't the best.

This weekend, I'll try again to build again with minimal changes on my system using a clean repository. If all goes well, I'll make a PR with the changes. Thanks!