2014-10-31 19 views
5

Ho un progetto MVC 5 abbastanza semplice in Visual Studio 2013. Ho impostato correttamente la pubblicazione tramite Web Deploy sul server. Voglio escludere un determinato file dalla distribuzione senza doverlo visualizzare in anteprima/deselezionare ogni volta che pubblico (sto pubblicando la build di rilascio).ExcludeFilesFromDeployment non funziona in Visual Studio 2013 Publish Web

Ho modificato il file .csproj per il progetto per includere il tag <ExcludeFilesFromDeployment>.

<Project...> 
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 
    ... 
    <ExcludeFilesFromDeployment>Library-that-is-not-good-for-server.dll</ExcludeFilesFromDeployment> 
    </PropertyGroup> 

Ma non cambia nulla/il file deve ancora essere deselezionata per l'aggiunta quando vado a pubblicare in VS2013.

Ho anche provato ad aggiungere un bin\ davanti alla libreria, per ogni evenienza. Per non parlare, un avvertimento si apre per l'elemento che dice "The element 'PropertyGroup' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003' has invalid child element 'ExcludeFilesFromDeployment' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003'. ..."

la documentazione di Microsoft che ero in grado di trovare nelle ricerche in materia di esclusione di file dalla distribuzione, e il tag ExcludeFilesFromDeployment, http://msdn.microsoft.com/en-us/library/ee942158(v=vs.110).aspx, sostengono che le istruzioni si applica solo a VS2012 e parzialmente a VS2010. Qualcuno sa cosa è cambiato per VS2013 o cosa sto facendo male?

risposta

5

È necessario aggiungerlo nel file profileName.pubxml. posizione nel file profileName.pubxml è:

my project ----> Properties ----> PublishProfiles ---> profileName.pubxml 

Esempio:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <ExcludeFilesFromDeployment> 
    Library-that-is-not-good-for-server.dll 
    </ExcludeFilesFromDeployment> 

'''    '''' 
+1

Finalmente ha avuto la possibilità di testare. Ha funzionato con 'bin \ Library-that-is-not-good-for-server.dll' quando ci si riferisce alla libreria nella directory bin fuori dalla root del sito. –

+0

Non è ovvio che tu debba fare bin \ some.dll, ma altrimenti non funzionerà –

0

Probabilmente bisogno di avere la seguente definizione anche nel 'file di profileName'.pubxml:

<DeleteExistingFiles>False</DeleteExistingFiles> 

prega rimuovere tutti i file dalla posizione di pubblicazione Temp (normalmente obj \ Release \ Package \ PackageTmp) dopo aver escluso alcuni file o directory.

Problemi correlati