WebDeploy:从部署包中排除特定的 DLL
WebDeploy: Exclude a specific DLL from a deployment package
如何让 Web Deploy 从 Web 部署包中排除特定的 DLL 文件?
此回答 提供了从 Web 应用程序的 bin 文件夹中排除 DB2 数据库驱动程序 IBM.Data.DB2.dll 的建议。否则,您会在 IIS 中收到 BadImageFormatException,因为 Visual Studio 将错误版本的 DLL 与 Web 应用程序打包在一起。我只是 运行 进入这个问题并尝试听从建议。
不幸的是,我无法说服 Web Deploy 忽略这个特定的 DLL。我读了这个博客 post
并添加了这个
<ItemGroup>
<ExcludeFromPackageFiles Include="$(OutputPath)IBM.Data.DB2.dll">
<FromTarget>Project</FromTarget>
</ExcludeFromPackageFiles>
</ItemGroup>
但没有成功。我仍然可以在 Binaries 文件夹中的 _PublishedWebsites\MyWebApp\bin\IBM.Data.DB2.dll 下找到数据库驱动程序。
一段时间后,我再次尝试解决我的问题,现在可以了。这是解决方案。我将它放在项目定义文件 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>
如何让 Web Deploy 从 Web 部署包中排除特定的 DLL 文件?
此回答 提供了从 Web 应用程序的 bin 文件夹中排除 DB2 数据库驱动程序 IBM.Data.DB2.dll 的建议。否则,您会在 IIS 中收到 BadImageFormatException,因为 Visual Studio 将错误版本的 DLL 与 Web 应用程序打包在一起。我只是 运行 进入这个问题并尝试听从建议。
不幸的是,我无法说服 Web Deploy 忽略这个特定的 DLL。我读了这个博客 post
并添加了这个
<ItemGroup>
<ExcludeFromPackageFiles Include="$(OutputPath)IBM.Data.DB2.dll">
<FromTarget>Project</FromTarget>
</ExcludeFromPackageFiles>
</ItemGroup>
但没有成功。我仍然可以在 Binaries 文件夹中的 _PublishedWebsites\MyWebApp\bin\IBM.Data.DB2.dll 下找到数据库驱动程序。
一段时间后,我再次尝试解决我的问题,现在可以了。这是解决方案。我将它放在项目定义文件 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>