发布Web服务时复制其他dll

时间:2015-11-06 13:16:54

标签: c# asp.net .net web-services

我正在开发Web服务,然后使用VS向导发布它。我的服务使用外部dll也应该发布。如何告诉系统将dll发布到Web服务bin文件夹。

2 个答案:

答案 0 :(得分:0)

如果您添加对外部dll的引用并使用dll中的任何内容,该dll将与您的dll一起自动复制到bin文件夹。

如果动态加载dll,可以尝试将其添加到.csproj文件中:

<Target Name="AdditionalPublish" AfterTargets="AfterPublish">
        <Copy SourceFiles="" DestinationFolder="$(OutputPath)" />
</Target>

使用您要发布的内容指定SourceFileshttps://msdn.microsoft.com/en-us/library/3e54c37h.aspx

例如,假设您要复制这些dll:

<ItemGroup>
    <ExternalFiles Include="lib1.dll;lib2.dll;lib3.dll"/>
</ItemGroup>
<Target Name="AdditionalPublish" AfterTargets="AfterPublish">
    <Copy
        SourceFiles="@(ExternalFiles)"
        DestinationFolder="$(OutputPath)"
    />
</Target>

答案 1 :(得分:0)

我假设您在发布VS时在您的Properties文件夹中创建了* .pubxml文件,例如我使用VS 2015 for MVC 4.5及以下是我找到我的* .pubxml文件的位置。

pubxml

您可以按照ASP.NET Web Deployment using Visual Studio: Deploying Extra Files中的说明编辑此xml文件,并在此处添加额外的DLL文件夹。