2010-12-02 14 views
39

Inicié un nuevo proyecto de winforms, bastante simple, tiene algunas etiquetas, cuadros de texto y un botón. Todo el código está funcionando bien. Olvidé cambiar la versión de framework de 4 (usando VS 2010) a 3.5 antes de crear la aplicación y cuando la cambié a 3.5 o 3.5 perfil de cliente recibo la siguiente advertencia:La referencia principal "Microsoft.CSharp", que es un ensamblaje de marco, no se pudo resolver en el marco actualmente orientado

La referencia principal "Microsoft. CSharp ", que es un ensamblaje de marco, no se pudo resolver en el marco actualmente orientado. ".NETFramework, Version = v3.5". Para resolver este problema, elimine la referencia "Microsoft.CSharp" o redirija su aplicación a una versión de marco que contenga "Microsoft.CSharp".

No es una gran cantidad de problemas para volver a crear esto con una configuración de 3.5 desde el principio y estoy bastante seguro de que no estoy utilizando nada del marco de 4 que necesito.

+2

¿Cuál es exactamente la pregunta que está tratando de hacer? – Goronmon

+0

Por lo tanto, siga la advertencia y elimine la referencia o el redestino al menos a .NET 4.0. ¿Cual es el problema? – jason

+0

El problema era que no estaba seguro de cómo eliminar la referencia, todo arreglado ahora. –

Respuesta

72

En la mayoría de las plantillas de proyecto en VS 2010 para .NET 4, se agrega la referencia de ensamblado Microsoft.CSharp. Entonces, cuando creó el proyecto, le dieron esta referencia de ensamblaje automáticamente. No debería tener ningún problema simplemente eliminando la referencia.

+18

Gracias Matt, tu respuesta me ayudó a decidir lo que quería hacer en vez de solo leer a las personas quejándose de que alguien hace algo incorrectamente y NO ayuda en absoluto. bien hecho. – shawty

+0

Me encontré con el mismo problema con mi nuevo y brillante VS2010 brillante. Tu respuesta fue un "bingo" - ¡gracias! – paulsm4

+2

¿Alguien sabe cuál fue el razonamiento detrás de agregar esa referencia por defecto en primer lugar? –

2

Solo quiero agregar mi experiencia también. En mi caso, eliminar la referencia de Microsoft.CSharp fue suficiente para quitar las advertencias y compilar la solución, sin embargo, al usar la consola, recibí algunos errores que todavía hacen referencia a la referencia de marcos faltantes. Luego creé un nuevo proyecto de consola vacío; de forma predeterminada, se configuró el "Perfil de cliente de .NET FrameWork 4", por lo que inmediatamente lo reemplacé con la opción "Perfil de cliente de .NET Framework 3.5" y guardé. Luego copio & pego todo mi código del proyecto original y agrego todas las referencias que utilicé en el proyecto. Luego cambié el nombre de la solución, el espacio de nombres, el nombre del ensamblado, etc., como mi proyecto original y lo compilé. Sin advertencias/errores y todo estaba bien.

Luego traté de usar la aplicación de la consola (en un entorno con .NET 3.5) y todo funcionó perfectamente^_^(en su lugar, simplemente cambiando la referencia .NET de 4 a 3.5 en las propiedades del proyecto, Tengo los errores que dije arriba).

Espero que esto pueda ayudar a aquellos que tienen problemas al solo cambiar el "marco de referencia" y eliminar la referencia de Microsoft.CSharp en un proyecto existente.

Cuestiones relacionadas