2015-05-12 59 views
1

如何通知Web部署從Web部署包中排除特定的DLL文件?WebDeploy:從部署包中排除特定的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文件夾中找到數據庫驅動程序unter _PublishedWebsites \ MyWebApp \ bin \ IBM.Data.DB2.dll。

回答

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> 
+0

謝謝!我第一次嘗試了這個,但是用了/而不是\。你的文章幫助它爲我工作。 –