2015-05-12 4 views
1

Как сообщить Web Deploy об исключении определенного DLL-файла из пакета веб-развертывания?WebDeploy: Исключить определенную DLL из пакета развертывания

В этом ответе https://stackoverflow.com/a/27404527 содержится рекомендация исключить драйвер базы данных DB2 IBM.Data.DB2.dll из папки bin веб-приложения. В противном случае вы получите исключение BadImageFormatException в IIS, потому что Visual Studio упаковывает неправильную версию DLL с помощью веб-приложения. Я просто столкнулся с этим вопросом и попытался следовать совету.

К сожалению, я не мог убедить Web Deploy, чтобы опустить эту конкретную DLL. Я прочитал это сообщение в блоге

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

и добавил

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

, но без успеха. Я все еще могу найти драйвер DB unter _PublishedWebsites \ MyWebApp \ bin \ IBM.Data.DB2.dll в папке Binaries.

ответ

1

Я попытался решить проблему снова через некоторое время, и теперь это работает. Вот решение. Я поместил его в файл с именем projectname.wpp.targets вместе с файлом определения проекта projectname.csproj.

<?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

Спасибо! Я попробовал это в первый раз, но с a/вместо \. Ваш пост помог мне работать для меня. –

Смежные вопросы