2009-06-11 11 views
9

Stiamo sviluppando un progetto di applicazione Web ASP.Net con componente Silverlight 2.0. Abbiamo fatto riferimento al progetto silverlight nelle proprietà dell'applicazione Web e il file xap viene copiato nella cartella ClientBin dell'applicazione Web quando viene creato localmente.Il file Silverlight xap non viene copiato su ClientBin su Build Server

Il problema è che quando si crea questo sul nostro server di build (che utilizza CruiseControl.Net, anche se non penso sia rilevante) il file xap non viene copiato. La cosa strana è che funzionava, ma qualcosa lo ha infranto e non riusciamo a capire cosa.

Qualcuno ha visto questo prima?

risposta

13

Ordinato!

Non del tutto sicuro perché, ma si scopre che abbiamo avuto una versione out-of-data di Microsoft.WebApplications.targets sul server di build - la versione che avevamo non hanno le CopySilverlightApplications compito in esso. Per risolvere il problema, ho copiato i due file dalla cartella C:\Program Files\MSBuild\Microsoft\VisualStudio\v9.0\WebApplications nella stessa posizione sul server di generazione. Ora tutto funziona come dovrebbe.

Ora, se solo potessi scoprire quale installatore dovrebbe avere aggiornato i file ...

+0

Lo stesso è successo per me. Questo è con VS2008SP1 e ho utilizzato il programma di installazione della piattaforma Web per scaricare e installare "Silverlight 3 Tools per Visual Studio", "Silverlight Toolkit (ottobre)" e "Servizi WCF Ria". Per qualche motivo, questo ha funzionato bene su una macchina e non ha funzionato con un'altra. La stessa identica procedura. C'erano piccole differenze nella configurazione esistente, quindi penso che una di queste differenze abbia rotto l'installazione. In ogni caso, grazie per l'aggiornamento con il vostro successo. –

+2

I due file che devono essere copiati sono "Microsoft.WebApplication.Build.Tasks.Dll" e "Microsoft.WebApplications.targets". Questi file vengono aggiunti dal programma di installazione delle estensioni Web Deployment di Visual Studio. Copiarli manualmente al server di build è un trucco necessario (credo) perché questo programma di installazione non verrà eseguito a meno che VS 2008 sia installato e poche persone vogliono che l'IDE sia installato sul loro server di build. –

0

Ho appena avuto un problema simile in cui alcuni file non venivano creati/spostati nel mio server di sviluppo. Il problema ha finito col diventare un permesso mentre cancellavo manualmente una cartella. Per qualche motivo, l'account e le autorizzazioni del servizio di rete non sono stati ereditati dalla cartella appena ricreata.

0

ho trovato il seguente tag nel mio file di progetto è fissato:

<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> 

esempio

<PropertyGroup> 
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath> 
</PropertyGroup> 
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> 
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" /> 
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" /> 

Forse VSToolsPath è impostato prima di questo punto sul computer locale, ma non sul server di generazione.

Problemi correlati