C# 无法获取要编译的assemblyFileBinding
我正在尝试使用AssemblyFileVersion绑定(如下面完整的WSX所示)。我总是遇到以下编译错误: 错误LGHT0298:未解析的绑定时间变量 !(bind.assemblyFileVersion.filMobiusExe) 你能看出什么不对劲吗?我已经将我引用的C# 无法获取要编译的assemblyFileBinding,c#,wix,windows-installer,C#,Wix,Windows Installer,我正在尝试使用AssemblyFileVersion绑定(如下面完整的WSX所示)。我总是遇到以下编译错误: 错误LGHT0298:未解析的绑定时间变量 !(bind.assemblyFileVersion.filMobiusExe) 你能看出什么不对劲吗?我已经将我引用的filMobiusExe声明为.net程序集,它就是。我需要使用一些额外的命令行开关或扩展吗?我用的是3.10.2.2516。我使用热量生成AsiWix_生成的组件组 <?xml version="1.0" encodi
filMobiusExe
声明为.net程序集,它就是。我需要使用一些额外的命令行开关或扩展吗?我用的是3.10.2.2516。我使用热量生成AsiWix_生成的组件组
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Product
Id="..."
Name="MyStuff"
Language="1033"
Version="!(bind.assemblyFileVersion.filMobiusExe)"
Manufacturer="Autonomous Solutions, Inc."
UpgradeCode="...">
<Package Id="*"
InstallerVersion="200"
Compressed="yes"
InstallScope="perMachine"
Description="My Stuff"/>
<Property Id="TARGETSERVERADDRESS" Value="http://localhost:18080/"/>
<MediaTemplate EmbedCab="yes" CompressionLevel="high" MaximumUncompressedMediaSize="10000"/>
<Property Id="ARPNOREPAIR" Value="yes" Secure="yes" />
<Property Id="ARPNOMODIFY" Value="yes" Secure="yes" />
<Property Id="MSIFASTINSTALL" Value="1" /><!-- disable restore point creation -->
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramMenuFolder">
<Directory Id="ProgramMenuDirAsiRoot" Name="ASI">
<Directory Id="ProgramMenuDirAsi" Name="Mobius">
</Directory>
</Directory>
</Directory>
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLDIRROOT" Name="ASI">
<Directory Id="INSTALLDIR" Name="Mobius">
<Component Id="cmpMobiusExe" Guid="*">
<File Id="filMobiusExe" KeyPath="yes" Source="$(var.AsiWixSourceDir)\Mobius.exe" Vital="yes" Assembly=".net"
AssemblyApplication="filMobiusExe" ProcessorArchitecture="msil">
<Shortcut Id="ApplicationStartMenuShortcut" Name="Mobius" Description="Client" WorkingDirectory="INSTALLDIR" Advertise="yes" Directory="ProgramMenuDirAsi" />
</File>
<File Id="filMobiusConfig" Source="$(var.AsiWixSourceDir)\Mobius.exe.config" />
</Component>
</Directory>
</Directory>
</Directory>
</Directory>
<Component Id="SetConfigToServerAddress" Guid="..." KeyPath="yes" Directory="INSTALLDIR">
<Condition>TARGETSERVERADDRESS</Condition>
<util:XmlFile Id="AppConfigSetServerAddress" Action="setValue" Permanent="yes"
File="#filMobiusConfig" Name="value"
ElementPath="/configuration/appSettings/add[\[]@key='ServerAddress'[\]]"
Value="[TARGETSERVERADDRESS]" />
</Component>
<Component Id="SetConfigToServerExe" Guid="..." KeyPath="yes" Directory="INSTALLDIR">
<Condition>TARGETSERVEREXE</Condition>
<util:XmlFile Id="AppConfigSetServerExecutable" Action="setValue" Permanent="yes"
File="#filMobiusConfig" Name="value"
ElementPath="/configuration/appSettings/add[\[]@key='ServerPath'[\]]"
Value="[TARGETSERVEREXE]" />
</Component>
<Feature Id="ProductFeature" Title="Mobius.Setup" Level="1">
<ComponentRef Id="cmpMobiusExe"/>
<ComponentGroupRef Id="AsiWix_Generated"/>
<ComponentRef Id="SetConfigToServerAddress"/>
<ComponentRef Id="SetConfigToServerExe"/>
</Feature>
<SetProperty Id="ARPINSTALLLOCATION" Value="[INSTALLDIR]" After="CostFinalize" />
</Product>
</Wix>
TARGETSERVERADDRESS
TARGETSERVEREXE
尝试使用!(bind.fileVersion.filMobiusExe)。fileVersion成功,但这不是我想要的版本号。MyAssemblyVersion
与MyAssemblyFileVersion
不同,fileVersion返回前者。我的程序集都定义了这两个属性。将File/@Assembly设置为“.net”或“win32”,然后将同一个文件的File/@AssemblyApplication设置为File/@Id.Got的值。很清楚,我从来无法使assemblyFileVersion
工作<在我将Assembly=“.net”
添加到我的主可执行文件文件
声明后,code>fileVersion确实开始为我工作。