2014-04-12 9 views
5

Come è possibile utilizzare il contrassegno "Precompila durante la pubblicazione" su un progetto VS2013 x64? Non importa quello che faccio, non riesce a pubblicare perché insiste sull'uso di ASPNETCOMPILER x86.Configurare Visual Studio 2013 per consentire a ASPNETCOMPILER di precompilare utilizzando il compilatore x64

Penso di averlo usato in VS2012, ma dopo l'aggiornamento a VS2013 non funziona più.

Ricordo la correzione che comportava la modifica di un file di testo relativo a MSBuild ma sinceramente non ne so molto, quindi è un po 'confuso.

Qualsiasi aiuto è molto apprezzato. Grazie!

risposta

9

questo sembra essere un bug in Visual Studio 2013.

Microsoft Connect - Precompile error when using X64 platform

La soluzione elencato lì funziona ed è per aggiungere il seguente codice XML nel tag XML del progetto/PropertyGroup al profilo di pubblicazione (situato nella directory Properties \ PublishProfiles del tuo progetto).

<AspnetCompilerPath>C:\Windows\Microsoft.NET\Framework64\v4.0.30319</AspnetCompilerPath> 

stavo ottenendo questo errore di generazione prima di applicare la soluzione precedente: "Impossibile caricare il file o l'assembly '****' o una delle sue dipendenze è tentato di caricare un programma con un errato. formato." - ASPNETCOMPILER

+0

Funziona. Grazie! –

+0

idem. A partire dal 2014-05-01, il problema di connessione è stato elencato come "Non risolverà". Non so perché no; mi è costato un sacco di tempo per inseguire il problema, e la correzione sembra essere un semplice cambiamento per la prossima versione ...: - \ –

2

ancora un problema in Visual Studio 2015 Update 3 ...

Fix: Aprire il file csproj del progetto nel vostro editor di testo preferito.

Individuare:

<MvcBuildViews>true</MvcBuildViews> 

Aggiungere il seguente sotto di esso:

<AspNetToolPath Condition=" '$(Platform)' == 'x64'">$(windir)\Microsoft.NET\Framework64\v4.0.30319</AspNetToolPath> 

Individuare:

<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'" > 
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" /> 
</Target> 

Modificare la linea AspNetCompiler come segue:

<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" ToolPath="$(AspNetToolPath)" /> 
+0

Ancora un problema in VS 2017 – Jay

Problemi correlati