Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Msbuild 误差';源(dirPath)和目标(iisApp)与给定操作不兼容';尝试部署包时_Msbuild_Msdeploy_Webdeploy - Fatal编程技术网

Msbuild 误差';源(dirPath)和目标(iisApp)与给定操作不兼容';尝试部署包时

Msbuild 误差';源(dirPath)和目标(iisApp)与给定操作不兼容';尝试部署包时,msbuild,msdeploy,webdeploy,Msbuild,Msdeploy,Webdeploy,我正试图通过MSBuild中的MSDeploy任务部署一个包 我已经配置了两个项目组来表示我的源和目标 源代码是我创建的一个包,例如Solution.zip 目标是远程服务器上的IIS 7 配置如下所示: <ItemGroup> <DeploySource Include="package"> <Path>$(PackagePath)</Path> </DeploySource> </ItemGro

我正试图通过MSBuild中的MSDeploy任务部署一个包

我已经配置了两个项目组来表示我的源和目标

源代码是我创建的一个包,例如Solution.zip 目标是远程服务器上的IIS 7

配置如下所示:

<ItemGroup>
    <DeploySource Include="package">
        <Path>$(PackagePath)</Path>
    </DeploySource>
</ItemGroup>

<ItemGroup>
    <DeployDestination Include="iisApp">
        <ComputerName>https://myserver.com/msdeploy.axd</ComputerName>
        <UserName>XXXXXXXX</UserName>
        <Password>XXXXXXXX</Password>
        <AuthType>Basic</AuthType>
        <Path>Default Web Site/Umbraco.Web_deploy</Path>
    </DeployDestination>
</ItemGroup>
<PropertyGroup>
    <ConfigFileName>Staging.config</ConfigFileName>
</PropertyGroup>
<Target Name="Deploy_v2">
    <!-- Using ContinueOnError due to a bug in MSDeploy task-->
    <MSDeploy
        ContinueOnError="true" 
        ToolPath="C:\Program Files\IIS\Microsoft Web Deploy V3"
        Verb="sync"
        Source="@(DeploySource)"
        Destination="@(DeployDestination)" 
        AllowUntrusted="true"
        Replace="objectName=filepath,match=Configs\$(ConfigFileName),replace=web.config"
    />
</Target>
不幸的是,这会导致以下错误:

MSDEPLOY : Error: Source (dirPath) and destination (iisApp) are not compatible for the given operation.

在我看来,MSDeploy将我的包视为一个dirPath。当我创建包时,它确实使用了一个dirPath作为其源。

因为错误状态
dirPath
iisApp
是不兼容的提供程序,尽管
iisApp
确实使用了
dirPath
。看

iisap
可以将目录作为源目录,因此请尝试通过
iisap
打包目标目录,如下所示:

msdeploy -verb:sync -source:iisApp=c:\inetpub\wwwroot -dest:package=Package.zip
顺便说一句,如果您使用的是Visual Studio,则可以使用
MSBuild
/t:Publish
生成MSDeploy包

msdeploy -verb:sync -source:iisApp=c:\inetpub\wwwroot -dest:package=Package.zip