Compilazione x86 su VisualStudio 2008

venerdì 09 gennaio 2009 - 15.55

Pokino Profilo | Junior Member

Ciao a tutti, ho un problema che forse posso risolvere se solo riuscissi a impostare la compilazione per x86 sul mio sistema..

Ho installato VStudio 2008 su Vista SP1 x64 e non riesco a trovare il modo di forzare la compilazione dell'applicazione..

- selezionando dalla barra strumenti la tendina 'piattaforme soluzione' posso scegliere tra .NET, AnyCPU, MixedPlatform: qual'è quella per 32bit????? perchè non c'è scritto x86 semplicemente?
- se provo a fare una nuova configurazione posso scegliere solo AnyCPU per la piattaforma.. che senso ha?

grazie

rossimarko Profilo | Guru

Ciao,

se stai sviluppando in C# o in VB.Net questa voce non ha senso perchè è il framework che si occupa della gestione dei 32 o 64 bit, non sei tu che devi compilare due versioni differenti.

Quando installi il framework viene installata la versione corretta a seconda della configurazione del server (32 o 64 bit), poi tutte le tue applicazioni framework 2.0 o superiore gireranno tranquillamente
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

Pokino Profilo | Junior Member

ciò significa che l'esecuzione a runtime si appoggerà sulla versione opportuna di libreria installata sulla macchina?

se io sviluppo su x64 e poi voglio installare su un server x86 non mi devo preoccupare di nulla? sui forum di crystal report (per la cui versione 2008 non esistono librerie distribuibili su x64) indicano di compilare per x86..

TOPOAMORE Profilo | Expert

Ciao
allora perche non imposti su "any cpu"
cosi dovresti risolvere il problema
Ciaoooo
ASP 2.0 - VB 2008

Pokino Profilo | Junior Member

dici? avevo capito che c'era una modalità che compilava per l'ambiente in uso al momento ma nn so quale sia, anycpu o mixed platform? questa è la modalità da evitare perchè su x64 compila per x64 e poi su x86 potrebbe dare problemi.. la modalità .NET cos'è?

TOPOAMORE Profilo | Expert

Io ho avuto lo stesso problema e ho risolto compilando per la piattaforma che mi serviva cioe da x64 a x86 ma anycpu dovrebbe andar bene per entrambi i modi ma onde evitare problemi io ti consiglio di compilare per cio che ti serve


ASP 2.0 - VB 2008

Pokino Profilo | Junior Member

il punto è che non riesco a selezionare la modalità per x86: qual'è?

rossimarko Profilo | Guru

Il discorso Crystal Report allora ci sta che sia una cosa diversa.

Queste sono le informazioni che ho trovato riguardo a Crystal Report x visual studio: http://msdn.microsoft.com/it-it/library/ms225583.aspx

Comunque parlando di framework e managed code (c# o vb.net) non c'è la possibilità di scegliere la compilazione perchè non serve. Come riportato nella documentazione (http://msdn.microsoft.com/en-us/library/ms973190.aspx):
"Consider a .NET application that is 100% type safe code. In this scenario it is possible to take your .NET executable that you run on your 32-bit machine and move it to the 64-bit system and have it run successfully. Why does this work? Since the assembly is 100% type safe we know that there are no dependencies on native code or COM objects and that there is no 'unsafe' code which means that the application runs entirely under the control of the CLR. The CLR guarantees that while the binary code that is generated as the result of Just-in-time (JIT) compilation will be different between 32-bit and 64-bit, the code that executes will both be semantically the same."

Diverso invece il discorso nel caso in cui non si utilizza managed code o si fa riferimento ad oggetti com esterni. Comunque è tutto documentato all'interno del link.

Una cosa che puoi fare per fare delle verifiche è installare una macchina virtuale (Virtual PC di microsoft è un prodotto gratuito http://www.microsoft.com/downloadS/details.aspx?FamilyID=28c97d22-6eb8-4a09-a7f7-f6c7a1f000b5&displaylang=en) all'interno della quale installi un sistema operativo a 32 bit.

Se non hai la possibilità di installarlo puoi scaricare delle immagini già pronte dall'indirizzo: http://www.microsoft.com/downloads/details.aspx?FamilyID=21eabb90-958f-4b64-b5f1-73d0a413c8ef&displaylang=en

L'unico problema è che scadono ad aprile, sono di test e di solito le rinnovano di volta in volta quando raggiungono il periodo di scadenza
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

Pokino Profilo | Junior Member

nn mi sembra di leggere info risolutive sui link che mi hai indicato, grazie cmq per l'esaustività

tenterò con una VM x capire se il problema che ho è proprio dato dall'ambiente x64..

agg. del 21/01/09
oggi ho fatto un test su un altro pc, Vista Business 32bit, VisualStudio 2008, CRruntime 2008 SP1 e l'errore non si presenta più: il problema è quindi da imputare alla piattaforma x64..

Sulla macchina x64 con il problema ho aggiornato il runtime al SP1 ma nulla è cambiato..non so più che fare

E' possibile convertire un sito web in un progetto compilabile espressamente in x86?
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5