Application for assembling assembly errors - several build versions detected

I worked today, like every day, when I tried to create my own project, and I got this error:

Multiple build versions were detected with the GUID '00020430-0000-0000-C000-000000000046. Try to import one of these nodes beforehand.

It says the problem is with the TlbImp file, which is located in the root directory of my application. The only problem is that I do not have such a file in my project, and as far as I remember, it never was.

I am working with a web application with Visual Studio 2010 (not sure if this information helps, but fine, regardless).

+2
source share
5 answers

There is an error connecting to Microsoft for this

He said that there is a problem with reference to the COM component.

This has been fixed and should be available in a future version of Visual Studio.
(Note: this did not fall into SP1.)

Tlbimp is an importer of type libraries . Visual Studio uses it to create a merged link to added COM libraries.

+2
source

Thanks @DavRob, but that was not the answer I was looking for. @dev_Gabriel I managed to fix this, here are the steps that worked for me:

  • In Visual Studio, right-click Project
  • Select Properties
  • Select the Links tab.
  • Check if any link from the obj \ Debug folder is specified and delete them.
+5
source

Just add @JeremyThompson answer:

My problem is with the link to the COM object, selecting "Add Link" and viewing the .exe file for the application (i.e. C: \ Program Files (x86) \ ProFile \ profile.exe). This added the β€œInterop.Profile.dll” (obviously, it will differ depending on which SDK you are trying to get) the link, which was located in the obj / Debug folder, as described by @JeremyThompson.

In my particular case, I had a link to Interop.Profile.dll in two projects, one of which did not receive the error above and was successfully built. I went to the obj / Debug folder for a successfully created project and copied the Interop.Profile.dll file to my Solution DLL folder (this is only the folder that I created to save all my assemblies in one place, but you can technically put your COM DLL anywhere outside the obj / Debug folder), and then changed the links of both my projects to the Interop.Profile.dll file, which is in my DLL folder, and not to the obj / Debug folder.

As soon as I did this, my application was built successfully (using Rebuild, or Clean, and then Build).

Obviously, my case is quite specific, but I hope it helps someone out there.

+1
source

I had the same error. I realized that I was referring to the same .dll twice in two different places.

So, all I did was remove all the links to the .dll and add it again from one place.

This resolved the error.

0
source

I had it today when you transferred the VS 2008 project to VS 2013 with a different different twist. It took me a while to figure out, so this might help someone else. I have a solution with 10 or so projects in it. One project is VB, which refers to an old OCX with a graphical interface. To create the required interop links, you need to drag the OCX into Winform, which extracts the other links and also creates the necessary AX interop ref. All these cross-domain DLL files are created in ... \ obj \ debug \ path. I was getting a few "multiple version" errors, but not from a project with COM links, but from another C # project that referenced the VB project. To get rid of this, I copied the interop files created by the VB project to the ... \ obj \ debug \ folder in the C # project. This is a little pain, because every time you clean up a project, you need to copy the files again, but at least it works now. Note that you cannot move AxInterop anywhere else, and referecne refers to it as a screw thing. Thanks @crunchy for giving me this idea.

0
source

Source: https://habr.com/ru/post/902404/


All Articles