【问题标题】:WebDeploy: Exclude a specific DLL from a deployment packageWebDeploy:从部署包中排除特定的 DLL
【发布时间】:2015-06-27 17:58:57
【问题描述】:

如何告诉 Web 部署从 Web 部署包中排除特定的 DLL 文件?

这个答案https://stackoverflow.com/a/27404527 提供了从 Web 应用程序的 bin 文件夹中排除 DB2 数据库驱动程序 IBM.Data.DB2.dll 的建议。否则,您会在 IIS 中收到 BadImageFormatException,因为 Visual Studio 将错误版本的 DLL 与 Web 应用程序打包在一起。我刚刚遇到了这个问题,并试图遵循建议。

很遗憾,我无法说服 Web Deploy 忽略这个特定的 DLL。我读了这篇博文

http://sedodream.com/2010/05/01/WebDeploymentToolMSDeployBuildPackageIncludingExtraFilesOrExcludingSpecificFiles.aspx

并添加了这个

<ItemGroup>
    <ExcludeFromPackageFiles Include="$(OutputPath)IBM.Data.DB2.dll">
        <FromTarget>Project</FromTarget>
    </ExcludeFromPackageFiles>
</ItemGroup>

但没有成功。我仍然可以在 Binaries 文件夹中的 _PublishedWebsites\MyWebApp\bin\IBM.Data.DB2.dll 下找到 DB 驱动程序。

【问题讨论】:

    标签: msdeploy webdeploy


    【解决方案1】:

    一段时间后,我尝试再次解决我的问题,现在它可以工作了。这是解决方案。我将它与项目定义文件 projectname.csproj 放在一个名为 projectname.wpp.targets 的文件中。

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    
      <ItemGroup>
        <ExcludeFromPackageFiles Include="bin\IBM.Data.DB2.dll">
          <FromTarget>Project</FromTarget>
        </ExcludeFromPackageFiles>
      </ItemGroup>
    
    </Project>
    

    【讨论】:

    • 谢谢!我第一次尝试了这个,但是用 / 而不是 \。你的帖子帮助它为我工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-06
    • 2012-04-27
    相关资源
    最近更新 更多