depuis la mise à niveau de mon projet vers VS2010, y compris l'utilisation de MSBuild v4 au lieu de 3.5 (et pas d'autres modifications), j'obtiens l'erreur de compilation suivante et je n'ai aucune idée il (log de CC.NET):MSBuild: erreur TlbImp depuis la mise à niveau vers VS 2010
<target name="ResolveComReferences" success="false">
<message level="high"><![CDATA[C:\Programme\Microsoft SDKs\Windows\v7.0A\bin\TlbImp.exe c:\Assemblies\NMSDVDXU.dll /namespace:NMSDVDXLib /machine:X64 /out:obj\x64\Release\Interop.NMSDVDXLib.dll /sysarray /transform:DispRet /reference:c:\Assemblies\Bass.Net.dll /reference:c:\Assemblies\LogicNP.FileView.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Design.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Management.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll /reference:C:\WINDOWS\assembly\GAC\stdole\7.0.3300.0__b03f5f7f11d50a3a\stdole.dll ]]></message>
<error code="TI0000" file="TlbImp"><![CDATA[A single valid machine type compatible with the input type library must be specified.]]></error>
<warning code="MSB3283" file="C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets" line="1558" column="9"><![CDATA[Die Wrapperassembly für die Typbibliothek "NMSDVDXLib" wurde nicht gefunden.]]></warning>
<message level="high"><![CDATA[C:\Programme\Microsoft SDKs\Windows\v7.0A\bin\TlbImp.exe c:\Assemblies\StarBurnX12.dll /namespace:RocketDivision.StarBurnX /machine:X64 /out:obj\x64\Release\Interop.RocketDivision.StarBurnX.dll /sysarray /transform:DispRet /reference:c:\Assemblies\Bass.Net.dll /reference:c:\Assemblies\LogicNP.FileView.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Design.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Management.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll /reference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll /reference:C:\WINDOWS\assembly\GAC\stdole\7.0.3300.0__b03f5f7f11d50a3a\stdole.dll ]]></message>
<error code="TI0000" file="TlbImp"><![CDATA[A single valid machine type compatible with the input type library must be specified.]]></error>
<warning code="MSB3283" file="C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets" line="1558" column="9"><![CDATA[Die Wrapperassembly für die Typbibliothek "RocketDivision.StarBurnX" wurde nicht gefunden.]]></warning>
</target>
problème: Un type de machine valide unique compatible avec la bibliothèque de type d'entrée doit être spécifiée.
Cela ne s'applique qu'à la version x64 de mon projet, x86 fonctionne toujours correctement. Apparemment, il essaie de construire un assembly d'interopérabilité x64 à partir de la DLL x86 située dans "C: \ Assemblies". Lors de l'exécution de la commande TlbImp avec la DLL x64 qui se trouve dans un répertoire différent, cela fonctionne correctement. Cependant, je ne sais pas comment je peux configurer mon projet pour utiliser différentes références COM pour la construction x86 et x64. Le système d'exploitation sur lequel le projet est compilé est WinXP x86. Le bâtiment a bien fonctionné lors de l'utilisation VS2005 + MSBuild 3.5
Toute aide serait grandement appréciée.
J'ai essayé de créer le projet mis à niveau avec MSBuild v3.5, mais cela ne fonctionne pas non plus. Il se plaint des codes NoWarn inconnus (probablement nouveau dans 4.0).
J'ai exactement la même erreur après le passage à TFS2010 et VS2010. Nous construisons tous nos projets dans AnyCPU et n'avons pas eu de problèmes avec CC.NET (sauf en utilisant spécifiquement x86 ou x64), et maintenant avec TFS. –
L'ai maintenant mis en place sur MS Connect, voyons ce qui se passe: http://connect.microsoft.com/VisualStudio/commentaires/détails/711406/tlbimp-error-since-vs2010-a-single-valid-machine-type-compatible-with-the-input-type-bibliothèque-doit-être-spécifié – floele