2014-10-31 80 views
5

我在Visual Studio 2013中有一個相當直接的MVC 5項目。我已成功通過Web Deploy設置發佈到服務器。我想從部署中排除某個文件,而不必在每次發佈時都進行預覽/取消選中(我正在發佈發佈版本)。ExcludeFilesFromDeployment在Visual Studio 2013中不工作發佈網頁

我編輯了項目的.csproj文件以包含<ExcludeFilesFromDeployment>標記。

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

但沒有任何變化/文件仍然需要取消選中,當我去VS2013發佈。

我也曾嘗試在庫的前面添加一個bin\以防萬一。更何況,一個預警,指出該元素彈出「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'. ...」

微軟的文檔,我能在關於從部署中排除文件搜索發現,和ExcludeFilesFromDeployment標籤,http://msdn.microsoft.com/en-us/library/ee942158(v=vs.110).aspx,聲稱指令僅適用於VS2012,部分適用於VS2010。有誰知道什麼改變了VS2013或我做錯了什麼?

回答

5

您需要將其添加到profileName.pubxml文件中。 profileName.pubxml文件的位置是:

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

例子:

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

'''    '''' 
+1

終於有機會測試了。使用'bin \ Library-that-is-not-good-for-server.dll'處理bin目錄中的庫時,不要使用該網站的根目錄。 – 2015-02-18 01:38:52

+0

這不是很明顯,你需要做bin \ some.dll,否則它不會工作 – 2015-09-30 07:50:01

0

你可能需要有下面的定義也在「profileName'.pubxml文件:

<DeleteExistingFiles>False</DeleteExistingFiles> 

請排除某些文件或目錄後,從Temp發佈位置(通常爲obj \ Release \ Package \ PackageTmp)中刪除所有文件。

相關問題