我编写了NANT构建脚本来部署我的clickOnce WPF应用程序。
我无法弄清楚的是,如何设置发布商参数......
这是在构建之后生成的清单的一部分:
<description asmv2:publisher="TestApplication" co.v1:suiteName="xOrg" asmv2:product="TestApplication" xmlns="urn:schemas-microsoft-com:asm.v1" />
我使用以下命令通过msbuild进行部署:
<target name="BuildTestApplication" depends="Clean" description="Build">
<property name="publishFolderParameter" value="/p:PublishDir=${testPublishFolder}" />
<echo message="Building..." />
<exec program="${msbuildExe}" workingdir="." verbose="true">
<arg value="${projectFile}" />
<arg value="/target:publish" />
<arg value="${publishFolderParameter}" />
<arg value="/property:ApplicationVersion=${version}" />
</exec>
<echo message="Built" />
</target>
如何通过msbuild参数更改 发布商属性 ?
我尝试过添加:
<arg value="/property:Publisher=${publisherName}" />
和
<arg value="/property:PublisherName=${publisherName}" />
没有成功......
其他问题:安装应用程序后,开始菜单中的结构是什么(所有程序/ 某些名称)?
提前谢谢。
答案 0 :(得分:3)
我想你错过了引号。尝试
<arg value="/property:PublisherName="${publisherName}"" />
用于PublisherName和
<arg value="/property:ProductName="${productName}"" />
表示应在开始菜单中设置快捷方式名称的ProductName。
答案 1 :(得分:3)
此属性由Microsoft.Common.targets中的<GenerateDeploymentManifest>
目标设置。它使用PublisherName
属性。
此属性在.csproj文件中设置。这里的诊断是它根本没有输入。容易出错,没有默认值。在Visual Studio,Project + Properties,Publish选项卡中打开.csproj文件。单击选项按钮,然后输入“发布者名称”:
其他领域也应该设定。如果您想在NANT脚本中出于某种原因覆盖此属性,那么必须使用硬编码字符串,您不能使用$ {publisherName}。