C# 无法获取要编译的assemblyFileBinding

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

我正在尝试使用AssemblyFileVersion绑定(如下面完整的WSX所示)。我总是遇到以下编译错误:

错误LGHT0298:未解析的绑定时间变量 !(bind.assemblyFileVersion.filMobiusExe)

你能看出什么不对劲吗?我已经将我引用的
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成功,但这不是我想要的版本号。My
AssemblyVersion
与My
AssemblyFileVersion
不同,fileVersion返回前者。我的程序集都定义了这两个属性。将File/@Assembly设置为“.net”或“win32”,然后将同一个文件的File/@AssemblyApplication设置为File/@Id.Got的值。很清楚,我从来无法使
assemblyFileVersion
工作<在我将
Assembly=“.net”
添加到我的主可执行文件
文件
声明后,code>fileVersion确实开始为我工作。