我在Visual Studio 2013中有一个相当简单的MVC 5项目。我已成功通过Web Deploy设置发布到服务器。我希望从部署中排除某个文件,而不必在每次发布时预览/取消选中它(我正在发布Release版本)。
我已编辑项目的.csproj
文件以包含<ExcludeFilesFromDeployment>
标记。
<Project...>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
...
<ExcludeFilesFromDeployment>Library-that-is-not-good-for-server.dll</ExcludeFilesFromDeployment>
</PropertyGroup>
但是当我去VS2013发布时,没有任何改变/文件仍然需要取消选中。
为了以防万一,我还尝试在库前添加bin\
。更不用说,会弹出一个警告,说明&#34; 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'.
......&#34;
我在搜索中找到的关于从部署中排除文件的文档,以及ExcludeFilesFromDeployment标记http://msdn.microsoft.com/en-us/library/ee942158(v=vs.110).aspx声称该说明仅适用于VS2012,部分适用于VS2010。有谁知道VS2013的变化或我做错了什么?
答案 0 :(得分:6)
您需要将其添加到 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 :(得分:0)
您可能还需要在'profileName'.pubxml文件中包含以下定义:
<DeleteExistingFiles>False</DeleteExistingFiles>
在排除某些文件或目录后,请从Temp发布位置删除所有文件(通常是obj \ Release \ Package \ PackageTmp)。