Domanda

Un utente ha riferito di aver raggiunto qualche strano comportamento nella nostra applicazione può essere risolto dopo l'installazione di .NET 4:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v2.0.50727" />
  </startup>
</configuration>

Non ero consapevole del fatto che, se non è stato specificato un assembly potrebbe essere caricato in una versione superiore, ma, compatibili.

E 'possibile identificare quale quadro un eseguibile è in esecuzione con? a run-time? o attraverso qualche processo esterno? Desidero confermare che questo è il caso, e l'esperienza degli utenti non ha essere il risultato di qualche altro problema.


Process Explorer dice EVEMon è in esecuzione con il 2.0, sono incline a sospettare il problema è stato dell'ambiente:

Process Explorer

È stato utile?

Soluzione

Da nel codice in esecuzione del montaggio, è possibile utilizzare la proprietà System.Environment.Version statica per determinare la versione CLR sotto il quale è in esecuzione.

Se non si desidera modificare il codice assembly, è possibile utilizzare processo Explorer per vedere le DLL caricate nel processo in fase di esecuzione. La versione CLR può essere identificato dalla versione di Mscoree.dll.

Altri suggerimenti

Non ha senso, un programma che è stato preso di mira per il CLR versione 2.0.50727 non verrà eseguito automaticamente con .NET 4.0. È necessaria una voce del file .config esplicito. Data la bravura del vostro cliente con i file .config, questo potrebbe essere qualcosa che in realtà ha fatto, poi scoperto che c'era guai.

Come Nicole ha detto Process Explorer è sicuramente il modo più semplice. È inoltre possibile ottenere queste informazioni da un dump di memoria completa utilizzando WindDBG.

Si noti inoltre che con 4.0 si ottiene fianco a fianco CLR di hosting . Prima di 4.0 se non avete acquistato il processo si ha modo di sapere quello che CLR è stato caricato . Questo può essere un motivo per cui si experinced il comportamento che hai descritto.

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