Could not find file 'Microsoft.Windows.Common-

2019-02-17 13:38发布

问题:

I'm trying to integrate this library into my application.

At first it crashed with

Unable to find an entry point named 'TaskDialogIndirect' in DLL 'ComCtl32'.

so I uncommented

<dependentAssembly>
  <assemblyIdentity
      type="win32"
      name="Microsoft.Windows.Common-Controls"
      version="6.0.0.0"
      processorArchitecture="*"
      publicKeyToken="6595b64144ccf1df"
      language="*"
    />
</dependentAssembly>

as was recommended here.

Now the application won't compile with the following message:

Could not find file 'Microsoft.Windows.Common-Controls, Version=6.0.0.0, Culture=*, 
    PublicKeyToken=6595b64144ccf1df, ProcessorArchitecture=*, Type=win32'

Deleting app.manifest causes the app to crash, because I'm using Microsoft Ribbon.

How do I fix this error?

回答1:

The file you are trying is not supported on Windows 7. This means you would have to supply it, if your trying to develop an application that works on Windows XP, simplest solution is to drop support for Windows XP.

Mainstream Support for Microsoft Visual Basic 6.0 ended on March 31, 2005. However, we are releasing this non-security related package because it contains improvements that were ready for release just prior to the end of Mainstream Support. Microsoft Visual Basic 6.0 has transitioned to Extended Support which runs through March 31, 2008. Microsoft is not extending the Mainstream Support phase for Microsoft Visual Basic 6.0 in any way.

Source: Microsoft Visual Basic 6.0 Common Controls

Supported operating systems: Windows 2000, Windows 2000 Advanced Server, Windows 2000 Professional Edition , Windows 2000 Server, Windows 98, Windows 98 Second Edition, Windows ME, Windows NT, Windows Server 2003, Windows XP, Windows XP Home Edition , Windows XP Media Center Edition, Windows XP Professional Edition, Windows XP Tablet PC Edition

Until you stop using this file, it cannot be run as a 64-bit process, on any Windows operating system including the 64-bit Windows XP Edition.

There is no reason you could not modify the behavior of the code you want to use to supported files.

You might have better luck with this project: http://www.codeproject.com/Articles/137552/WPF-TaskDialog-Wrapper-and-Emulator



回答2:

I have encountered the same error message in a project, and just wanted to share my solution.

I was building a project on Windows 7, and the project had a dependency upon this dll listed in the manifest file. Since it was trying to compile on Windows 7, it could not find the file, and hence I got the same error.

The solution was simply to remove this dependency from the manifest, as nothing in the project actually seemed to be relying on this assembly.