Necesito compilar un proyecto para .Net 3.5 y .Net 4.0. ¿Cuál es la forma más baja de fricción de hacer esto? Si hago referencia a este proyecto desde otro ensamblado, ¿cómo puedo determinar a qué tiempo de ejecución se dirige? ¿O debería simplemente hacer referencia a los binarios directamente?¿Cómo compilo un proyecto para .Net 3.5 y 4 al mismo tiempo
Respuesta
Lo hago simplemente por tener dos archivos csproj. Entonces puedo configurar la versión, las referencias, los símbolos de construcción, etc. fácilmente. Para evitar tener que mantener la lista de archivos en tanto, yo uso una manta incluir - es decir,
tengo (en el .csproj secundaria):
<Compile Include="..\TheMainProject\**\*.cs" />
esto dice "compilar todos los archivos .cs en y bajo .. \ TheMainProject ".
Gracias, creo que eso es lo que buscaré. –
¿por qué lo necesitarías?
Con el poste/pre tarea de construcción puede ejecutar msbuild para llegar a un marco diferente, consulte la "toolversion" argumento
http://msdn.microsoft.com/en-us/library/ms164311.aspx
MSBuild.exe MyProject.proj /ToolsVersion:4.0
y echar un vistazo a
http://msdn.microsoft.com/en-us/library/ee395432.aspx
Pero todavía no veo ninguna situat donde lo necesitaría.
Hay una situación similar al apuntar al tiempo de ejecución completo, Silverlight, monodroid, ... O, por supuesto, si su código difiere un poco entre versión .net. Tal vez, agregar una función solo sea compatible con las nuevas versiones del marco. – CodesInChaos
Puede aprovechar la función de segmentación múltiple.
Básicamente, usted va a terminar con algo así:
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<MSBuild Projects="@(ProjectsToBuild)"
Properties="TargetFrameworkVersion=$(CustomTargetFrameworkVersion)" />
Ver para más detalles:
- 1. Mover un proyecto ASP.NET para .NET 4
- 2. ¿Necesita instalar .net 3.5 y 4.0 o simplemente .net 4?
- 3. Ingrese al ensamblado de referencia .Net 3.5 del proyecto Asp.Net 4
- 4. Cómo instalar Automapper para .net 3.5
- 5. Ejecutar aplicaciones .NET 3.5 en .NET 4 solo sistemas
- 6. Cómo ACTUALIZAR y SELECCIONAR al mismo tiempo
- 7. .NET 4 carga ensamblajes diferentes de .NET 3.5
- 8. Cómo agregar .NET Framework 3.5 y otros requisitos previos al proyecto de InstallShield
- 9. ¿Cómo uso Console.CancelKeyPress en .NET 4? (Funciona bien en .NET 3.5 y abajo)
- 10. aleatoria en .Net 3.5
- 11. Conexión USB y depuración al mismo tiempo
- 12. ¿Cómo usar apache mod_rewrite y alias al mismo tiempo?
- 13. Estirable y Patrón UIImage al mismo tiempo
- 14. jQuery: ¿objeto y función al mismo tiempo?
- 15. Realizar una llamada a una biblioteca .NET 4 desde 3.5
- 16. Clave primaria y externa al mismo tiempo
- 17. Nuevo proyecto .NET 3.5: ¿Qué tecnología DAL usar?
- 18. usando onTouch y onCreateContextMenu al mismo tiempo
- 19. ¿Es posible ver múltiples ramas de git al mismo tiempo para el mismo proyecto?
- 20. fadeOut() y slideUp() al mismo tiempo?
- 21. ¿Cuántos subprocesos puedo ejecutar al mismo tiempo?
- 22. ¿Usar accept() y select() al mismo tiempo?
- 23. ¿Puedo seleccionar y actualizar al mismo tiempo?
- 24. Segmentación de .NET 3.5 y Silverlight
- 25. Reproducir y grabar audio al mismo tiempo
- 26. Foldmethod = marcador y sintaxis al mismo tiempo?
- 27. Ver pestañas "Variables" y "Marcos" para IntelliJ al mismo tiempo?
- 28. VIM: ¿Guardar y ejecutar al mismo tiempo?
- 29. ¿Puedo usar contratos de código .NET 4 y seguir siendo compatible con .NET 3.5?
- 30. perlbrew y local :: lib al mismo tiempo?
¿Hay diferencias reales es su código o ¿En qué dlls hace referencia cuando apunta a diferentes plataformas? – alun
¿Por qué necesita compilar como .NET 4 si no utiliza ninguna característica de .NET4 en su código? Un proyecto .NET4 puede usar sus binarios compilados de .NET 3.5 sin ningún problema. – jgauffin
No, no hay diferencias en el código. Todos los ensamblados hacen referencia a la versión 2.0 de libs. –