Indipendente dalla piattaforma .NET bitness - dal sistema operativo o applicazione che si chiama?

StackOverflow https://stackoverflow.com/questions/552293

Domanda

Lo so che la piattaforma di applicazioni .NET agnostici "galleggiano fino" al numero di bit del sistema operativo. Ma che dire di un assembly .NET che è una libreria, non è un eseguibile, di essere chiamato da un'applicazione non-.NET?

Abbiamo una DLL NET che è un CLR stored procedure estesa per SQL Server 2005. Attualmente è indipendente dalla piattaforma. Cosa succede quando la stored procedure estesa viene richiamato da un'istanza a 32 bit di SQL Server in esecuzione su Windows a 64 bit?

È stato utile?

Soluzione

Dipende da quello che indirizzare l'assemblea è stato compilato per. Se è stato selezionato "Qualsiasi CPU" o "X 86" nelle opzioni di generazione del progetto della DLL eseguito come esempio a 32 bit. Se è stato selezionato "x 64" sarà un'eccezione (BadImageFormatException dalla memoria).

In Windows 32 processi bit non possono caricare DLL a 64 bit in modo SQL Server sarà in esecuzione una versione a 32 bit di runtime .NET all'interno del suo processo. Così il vostro assembly .NET Consente inoltre di funzionare a 32 bit anche su una macchina a 64 bit.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top