msbuild发布.部署扩展

msbuild发布.部署扩展,msbuild,Msbuild,在visual studio中使用发布向导时,可以选择将.deploy附加到文件。 原因如下: 但对于我们这些希望拥有完全控制权的人,我正在构建一个部署脚本(.msbuild) 这里有一个片段: <MSBuild Projects="$(SolutionFile)" Targets="Clean;ReBuild" Properties="Configuration=$(Configuration);" /> <MSBuild Projects

在visual studio中使用发布向导时,可以选择将.deploy附加到文件。 原因如下:

但对于我们这些希望拥有完全控制权的人,我正在构建一个部署脚本(.msbuild)

这里有一个片段:

        <MSBuild Projects="$(SolutionFile)" Targets="Clean;ReBuild" Properties="Configuration=$(Configuration);" />

        <MSBuild Projects="$(SolutionFile)" 
        Targets="Publish" 
        Properties="PublishUrl=$(PublishLocation);  
        InstallUrl=$(InstallUrl);
        Configuration=$(Configuration);    
        GenerateManifests=$(GenerateManifests); 
        BootstrapperEnabled=$(BootstrapperEnabled);   
        IsWebBootstrapper=$(IsWebBootstrapper);   
        ApplicationVersion=$(ApplicationVersion);  
        UpdateEnabled=$(UpdateEnabled);
        UpdateMode=$(UpdateMode); 
        UpdateUrl=$(UpdateUrl)" />  

我想知道发布目标上是否有可以执行此操作的属性,或者这只是VisualStudio向导提供的一些巫术

如果没有,我将不得不在我的脚本中写入一些东西来重命名这些文件,这在我看来是不正常的


Mike

在Microsoft.Common.targets中快速查看表明,此文件重命名是通过将$(MapFileExtensions)设置为true来控制的。尝试将其添加到属性列表中:

MapFileExtensions=true

这会将内部属性$(_DeploymentFileMappingExtension)的值更改为“.deploy”,然后在将部署文件复制到_CopyFileStopPublishFolder目标中时将其追加到部署文件中。

+2用于在MSBuild中编写自己的部署脚本-1表示仍在使用该解决方案。侧栏:“清理;重建”是多余的,因为重建==清理;建立。谢谢你的信息。不确定您所说的“-1表示仍在使用解决方案”是什么意思?我可以把它指向.csproj文件,但我不知道它有什么不同。