【发布时间】:2013-07-11 00:58:10
【问题描述】:
我想使用 Web 部署将 Visual Studio“控制台”应用程序发布到目标系统上的文件夹。
我有一些运气,并且能够生产出类似于我需要的东西,但并不完全。
我已将以下内容添加到控制台 .csproj:
添加了以下 projectName.wpp.targets 文件
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
我添加了以下 projectName.wpp.targets:
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<DeployAsIisApp>false</DeployAsIisApp>
<IncludeSetAclProviderOnDestination>false</IncludeSetAclProviderOnDestination>
</PropertyGroup>
<ItemGroup>
<FilesForPackagingFromProject Include="$(IntermediateOutputPath)$(TargetFileName).config">
<DestinationRelativePath>bin\%(RecursiveDir)%(FileName)%(Extension)</DestinationRelativePath>
<FromTarget>projectName.wpp.targets</FromTarget>
</FilesForPackagingFromProject>
</ItemGroup>
</Project>
然后我编辑 .SetParameters.xml 文件如下:
<parameters>
<setParameter name="IIS Web Application Name" value="c:\company\project" />
</parameters>
当我使用生成的 .cmd 文件进行部署时,我会将所有文件部署到 C:\company\project\bin。
这还不错,但我想做得更好。特别是,我想省略“bin”文件夹并将所有文件放在“C:\company\project”文件夹中,并且我希望能够指定 ACL
有没有人能够解决这些问题?
【问题讨论】:
-
您是否尝试从
<DestinationRelativePath>bin\%(RecursiveDir)%(FileName)%(Extension)</DestinationRelativePath>中删除“bin\”部分? -
这听起来可能是一个答案。您应该在此处添加答案。 3 小时内赏金。
-
@aleksey.berezan:您应该将其添加为答案
-
我检查过,那样没有帮助。但是我找到了另一个,很快就会发布答案。
标签: console-application msdeploy webdeploy msbuild-wpp