2009-05-05 18 views
6

Estoy migrando una solución de visual studio 2005 a visual studio 2008. Cuando construyo la solución en 2005, no tengo ningún problema. Sin embargo, después de utilizar devenv.exe/Upgrade y luego uso msbuild en la solución, recibo las siguientes advertencias:Migración de Visual Studio 2005 sln a 2008, advertencia con rutas vc98 en la variable de entorno LIB, ¿cómo solucionarlo?

CSC: advertencia CS1668: ruta de búsqueda no válida '\ vc98 \ lib' especificada en 'variable de entorno LIB' - - 'El sistema no puede encontrar la ruta especificada.' CSC: advertencia CS1668: Ruta de búsqueda no válida '\ vc98 \ mfc \ lib' especificada en 'Variable de entorno LIB' - 'El sistema no puede encontrar la ruta especificada. ' CSC: advertencia CS1668: ruta de búsqueda no válida' c: \ archivos de programa \ microsoft visual studio 9.0 \ vc \ platformsdk \ lib 'especificada en' Variable de entorno LIB '-' El sistema no puede encontrar la ruta especificada '.

He comprobado http://social.msdn.microsoft.com/Forums/en-US/Vsexpressinstall/thread/3f875480-fee2-4bc3-b829-95e220b22a01 y no me ofrece ninguna ayuda porque mis variables de entorno LIB e INCLUDE no se establecen en los valores de usuario ni en los valores del sistema. He mirado en Herramientas de estudio> Opciones> Proyectos y Soluciones> VC++ Directorios y no hay nada que haga referencia a cualquier edad:

Biblioteca Archivos: $ (VCInstallDir) lib $ (VCInstallDir) atlmfc \ lib $ (VCInstallDir) atlmfc \ lib \ i386 $ (WindowsSdkDir) \ lib $ (FrameworkSDKDir) lib $ (VSInstallDir) $ (VSInstallDir) lib

incluir archivos:

$ (VCInstallDir) incluyen $ (VCInstallDir) atlmfc \ include $ (WindowsSdkDir) incluyen $ (FrameworkSDKDir) incluyen

Solía ​​salida de diagnóstico para que yo pudiera ver exactamente lo que la variable LIB incluye al ser llamado:

lib = c: \ Archivos de programa \ Microsoft Visual Studio 9.0 \ VC \ ATLMFC \ LIB; c: \ Archivos de programa \ Microsoft Visual Studio 9.0 \ VC \ LIB; C: \ Archivos de programa \ Microsoft SDK \ Windows \ v6.0A \ lib; \ vc98 \ lib; \ vc98 \ mfc \ lib; c: \ archivos de programa \ microsoft visual studio 9.0 \ vc \ platformsdk \ lib; c: \ archivos de programa \ microsoft visual studio 9.0 \ vc \ lib; c: \ archivos de programa \ microsoft visual studio 9.0 \ vc \ atlmfc \ lib ; LIBPATH = c: \ Windows \ Microsoft.NET \ Framework \ v3.5; c: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727; c: \ Archivos de programa \ Microsoft Visual Studio 9.0 \ VC \ ATLMFC \ LIB; c: \ Archivos de programa \ Microsoft Visual Studio 9.0 \ VC \ LIB

Así que si ese vc98 NO está en mi entorno, o la configuración de mi estudio y vc98 ni siquiera está instalada (ni la redirección), ¿dónde está esa ruta? ¿procedente de? ¿Qué proceso configura el env de LIB var así?

Respuesta

2

encontrado en MSDN:

Sí, esto es un problema conocido que se produce a algunas personas. Mire cuidadosamente en su ruta LIB. Justo después de ATLMFC, V, SDK -> \ vc98 \ lib. Elimine esta entrada (y la que sigue). Si el LIB es una variable de usuario, entonces deberá reiniciar VS o quizás desconectarse y volver a encenderlo. Si se trata de una variable del sistema , deberá reiniciar. Su error debería desaparecer.

0

Parece que ha cubierto la mayoría de las cosas aquí, por lo que lo único que se me ocurre es hojas de propiedades heredadas.

Se especifica en el XML vcproj (o se puede comprobar el administrador de la propiedad en el IDE):

<VisualStudioProject> 
    <Configurations> 
     <Configuration InheritedPropertySheets="stuff.vsprops">... 

Si usted tiene algunas hojas de propiedades heredadas, ir a echar un vistazo en el archivo y ver si tiene alguna ruta de acceso de lib vc98 establecida explícitamente?

+0

pues no. No tengo un solo atributo InheritedPropertySheets en ningún archivo VCProj que se esté migrando. –

+0

Lamento escuchar a Mike. Esa fue mi mejor suposición. – RedBlueThing

+0

No se necesitan disculpas. Espero que algunos Microsofty sabrán lo que está pasando. –

0

Me pregunto si esto podría deberse al cambio en el uso de los modificadores de compilación/MT y/MTd de/ML y/MLd que se produjeron para VS2005 en relación con las bibliotecas de tiempo de ejecución de C?

Consulte aquí y ver si ayuda: http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx

+0

no han tenido la oportunidad de verificar esto todavía. Espero poder llegar hoy o mañana. –

0

Tengo un problema muy similar con los proyectos de C# en VS.NET2010. Parece que solo afecta a los proyectos que importan proyectos de C++/CLI. Los proyectos aún están configurados para compilarse utilizando el conjunto de herramientas v9.0 (C++, C++/CLI) y .NET 3.5 (C++/CLI, C#). ¿Has tenido suerte para encontrar la fuente del problema?

He trabajado alrededor agregando la advertencia 1668 a la lista de advertencias ignoradas en las propiedades de los proyectos afectados. Eso no es ideal, pero es mejor que el spam en mi lista de advertencias.

Cuestiones relacionadas