Visual studio 2013 ExcludeFilesFromDeployment在Visual Studio 2013发布Web中不起作用

Visual studio 2013 ExcludeFilesFromDeployment在Visual Studio 2013发布Web中不起作用,visual-studio-2013,msdeploy,webdeploy,Visual Studio 2013,Msdeploy,Webdeploy,我在VisualStudio2013中有一个相当简单的MVC5项目。我已成功设置通过Web部署到服务器的发布。我想从部署中排除某个文件,而不必在每次发布时预览/取消选中它(我正在发布发布版本) 我已经为项目编辑了.csproj文件,以包含标记 <Project...> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> ... <Excl

我在VisualStudio2013中有一个相当简单的MVC5项目。我已成功设置通过Web部署到服务器的发布。我想从部署中排除某个文件,而不必在每次发布时预览/取消选中它(我正在发布发布版本)

我已经为项目编辑了
.csproj
文件,以包含
标记

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

...
Library-that-is-not-good-for-server.dll
但是没有任何更改/当我在VS2013中发布时,仍然需要取消选中该文件以进行添加

我还尝试在库前面添加一个
bin\
,以防万一。更不用说,元素会弹出一条警告,上面写着“
namespace中的元素'PropertyGroup'”http://schemas.microsoft.com/developer/msbuild/2003“”在命名空间中具有无效的子元素“ExcludeFilesFromDeployment”http://schemas.microsoft.com/developer/msbuild/2003“.
…”


我在搜索中找到的有关从部署中排除文件的Microsoft文档以及ExcludeFilesFromDeployment标记声称,这些说明仅适用于VS2012,部分适用于VS2010。有人知道VS2013发生了什么变化,或者我做错了什么吗

您需要将其添加到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>

'''                '''' 

Library-that-is-not-good-for-server.dll
'''                '''' 

您可能还需要在“profileName”.pubxml文件中包含以下定义:

<DeleteExistingFiles>False</DeleteExistingFiles>
False

排除一些文件或目录后,请从临时发布位置(通常为obj\Release\Package\PackageTmp)删除所有文件。

终于有机会测试了。在站点根目录下引用bin目录中的库时,使用了不适合server.dll的
bin\Library。显然,您不需要使用bin\some.dll,否则它将无法工作