Soy nuevo en la configuración del proyecto en Visual Studio 2010, pero he hecho algo de research y todavía no puedo resolver este problema. Tengo una solución de Visual Studio con una DLL de C++ que hace referencia a la DLL de C#. La DLL de C# hace referencia a algunas otras DLL, algunas dentro de mi proyecto y otras externas. Cuando intento compilar el C++ DLL, consigo esta advertencia:¿Cómo soluciono el error de compilación de Visual Studio, "falta de coincidencia entre la arquitectura del procesador"?
advertencia MSB3270: Hubo una falta de correspondencia entre la arquitectura del procesador del proyecto es construir "MSIL" y la arquitectura del procesador de la referencia "[interno C# dll] "," x86 ".
Me dice que vaya a Configuration Manager para alinear mis arquitecturas. La DLL C# está configurada con la plataforma objetivo x86. Si trato de cambiar esto a otra cosa, como Cualquier CPU, se queja porque una de las DLL externas es depende de que tenga la plataforma objetivo x86.
Cuando miro en Configuration Manager, muestra la plataforma para mi DLL de C# como x86 y para mi proyecto de C++ como Win32. Esta parece la configuración correcta; seguramente no quiero que el proyecto de mi proyecto C++ tenga una plataforma establecida en x64, que es la única otra opción presentada.
¿Qué estoy haciendo mal aquí?
¿Cuál es la queja, específicamente, cuando la cambia a Cualquier CPU? – lordcheeto
No tengo suficiente información para hacer una sugerencia informada, pero haga clic derecho en su solución -> Orden de compilación del proyecto y asegúrese de que su proyecto C# se está construyendo antes del proyecto C++. Si no es así, vaya a la pestaña Dependencias y permita que VS sepa que el proyecto C++ depende del proyecto C#. – lordcheeto
Paul, ¿regresarías y aceptarías una respuesta? Creo que esta es una gran pregunta para mucha gente y tienes una muy buena respuesta de David. –