Conversione della soluzione VS2012 in VS2010


127

Sto lavorando nel progetto VB con VS 2012 e dopo aver finito provo ad aggiungere il progetto di installazione.

Non l'ho trovato (perché il progetto di installazione è stato interrotto dopo VS2010) quindi sono passato a VS2010 ma il problema è che il progetto non si aprirà e visualizzo questo messaggio:

Il file selezionato è un file di soluzione ma è stato creato da una versione più recente di questa applicazione e non può essere aperto.

Ho provato questo articolo: http://www.codeproject.com/Tips/80953/Converting-VS2010-Solution-to-VS2008 e ho provato a convertire dal 2012 al 2010 ma appare lo stesso messaggio.


Perché non usi semplicemente VS2010 per creare un singolo progetto di installazione - per quanto ricordo non hai bisogno di includere progetti e puoi aggiungere i file da solo
Carsten,

ok, questa può essere una soluzione all'idea che includiamo sempre il setup con il progetto nella stessa soluzione per velocizzare la compilazione / implementazione
HokaHelal,

1
Hai sp1 su vs2010? Penso che sia necessario il service pack per aprire i file di progetto / soluzione 2012.
Georgi Stoyanov,

Risposte:


306

Ho anche affrontato il problema simile. Ho cercato su Google ma non sono riuscito a trovare la soluzione. Quindi ho provato da solo ed ecco la mia soluzione.

Apri il file della soluzione nel blocco note. Apporta 2 modifiche

  1. Sostituisci "Formato versione 12.00" con "Formato versione 11.00" (senza virgolette.)
  2. Sostituisci "# Visual Studio 2012" con "# Visual Studio 2010" (senza virgolette.)

Spero che questo ti aiuti anche ..........


3
C'è un aspetto negativo nel fare questo? Sembra troppo facile per essere vero.
kbeal2k,

4
Non ha funzionato per me, ha ancora sostenuto che era incompatibile?
David,

3
Grazie per questo suggerimento! Funziona anche per il downgrade di un progetto API Web ASP.NET. Oltre ad adattare la versione 12.00 del formato alla versione 11.00 del formato in sln e ad adeguare l'elemento TargetFrameworkVersion in csproj da 4.5> 4.0; Ho dovuto rimuovere l'elemento httpRuntime in web.config e regolare l'attributo compilation targetFramework in web.config da 4.5> 4.0
AardVark71

2
Fantastico, non posso credere che non ci sia compatibilità all'indietro però.
Stephen Murby,

1
Sono appena caduto in questa trappola usando VS2013 - ho cambiato il formato in 11 e tutto è andato di nuovo bene in VS2010 - grazie!
Surfbutler,

121

Giusto per elaborare l'eccellente risposta di Bhavin: la modifica del file della soluzione funziona ma potresti ancora ottenere l'errore incompatibile (come riportato da David) se hai selezionato .NET 4.5 come versione .NET predefinita nel tuo progetto VS2012 e l'ambiente VS2010 non lo fa supportalo.

Per risolvere rapidamente ciò, apri il file .csproj VS2012 in un editor di testo e modifica TargetFrameworkVersion fino a 4.0 (da 4.5). VS2010 caricherà quindi felicemente la soluzione "modificata" e i progetti.

Dovrai anche modificare un file app.config che abbia riferimenti a .NET 4.5 in un modo simile per consentire l'esecuzione su un ambiente .NET 4.0.


5
Questo insieme alla risposta di Bhavin ha funzionato perfettamente. Grazie ad entrambi.
desaivv,

2
Grazie per questo suggerimento! Funziona anche per il downgrade di un progetto API Web ASP.NET. Oltre ad adattare la versione 12.00 del formato alla versione 11.00 del formato in sln e ad adeguare l'elemento TargetFrameworkVersion in csproj da 4.5> 4.0; Ho dovuto rimuovere l'elemento httpRuntime in web.config e regolare l'attributo compilation targetFramework in web.config da 4.5> 4.0
AardVark71

Inoltre , potrebbe essere necessario, come ho fatto io, passare attraverso i file .vcproj e cambiare il set di strumenti della piattaforma da v110 a v100.
Xyon,

2

Ho avuto un problema simile e nessuna delle soluzioni sopra ha funzionato, quindi sono andato con un vecchio standby che funziona sempre:

  1. Rinomina la cartella contenente il progetto
  2. Crea un nuovo progetto con lo stesso nome con il 2010
  3. Diff le due cartelle e->
  4. Copia direttamente tutti i file di origine
  5. Ignora bin / debug / release ecc
  6. Diff. .Proproj e copia su tutte le righe rilevanti.
  7. Se il file .sln ha un solo progetto, ignoralo. Se è complesso, anche diff.

Funziona quasi sempre se ci hai passato 10 minuti e non riesci a ottenerlo.

Si noti che per problemi simili con le versioni precedenti (2008, 2005) di solito è possibile cavarsela semplicemente cambiando la versione in .csproj e cambiando la versione in .sln o scartandola, ma questo non sembra funzionare per il 2013 .


2

la soluzione più semplice è ..... apri il tuo sito web in vs2013 e vai su Debug-> WebsiteProperties (ultima opzione) si aprirà una nuova finestra ..

in questa finestra vai all'opzione "Build" e modifica la versione del framework .net da 4.5 a 4.0 ..... quindi seleziona ok. [nota: questo passaggio funzionerà solo se il tuo progetto non ha dipendenze con vs2013 ...]

Ora apri il tuo sito Web in vs2010


1

Apri il file di progetto e non la soluzione. Il progetto verrà convertito dalla procedura guidata e, una volta convertito, al momento della creazione del progetto, verrà generata una nuova soluzione come VS2010.


1

La soluzione di VS2010 è supportata da VS2012. La soluzione di VS2012 non è supportata da VS2010 -> solo aggiornamento unidirezionale. VS2012 non supporta i progetti di installazione. Scopri di più sulla compatibilità di VS2010 / VS2012: http://msdn.microsoft.com/en-us/library/hh266747(v=vs.110).aspx


1
Leggendo quel documento si dice che ci sono cose che funzioneranno bene tra i due, il che significa che è possibile creare un progetto / soluzione in VS2012 e aprirlo senza problemi in VS2010. Il documento indica tuttavia che ci sono cose che, se utilizzate nel 2012, non ti consentiranno di aprire nel 2010. stackoverflow.com/questions/10902865/… è un'altra buona, semplice risposta.
brasilianoldsjaguar,

Se lo leggi attentamente, dovresti vedere una leggera differenza: i progetti creati in VS2010 funzionano in VS2012, non diversamente. "... puoi aprire un progetto che è stato creato in Visual Studio 2010 SP1 ..."
Piotr Lewandowski,

0

Soluzione semplice che ha funzionato per me.

  1. Installa Vim Editor per Windows.
  2. Aprire la soluzione di progetto VS 2012 utilizzando l'editor Vim e modificare la versione destinata alla soluzione Visual Studio 10.
  3. Apri la soluzione con Visual Studio 2010 .. e continua con il tuo lavoro;)

Perché Vim e non solo il blocco note?
Zac,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.