如何在Wix Bundle PayLoad中引用Nuget二进制文件?

时间:2017-02-17 05:09:32

标签: c# wix nuget bundle bootstrapper

我在构建期间在本地nuget服务器上发布我的Bootstrapper.dll,这很正常。但是要在我的Bundle项目(wixproj)中使用它,我找不到任何在PayLoad中引用它的直接方法。
作为解决方法我创建了一个虚拟C#项目,添加了nuget引用,Copy Local = True,然后在Bundle PayLoad中引用了这个虚拟C#项目的TargetDir \ Bootstrapper.dll。

问题:有没有办法避免使用虚拟C#项目并直接在Bundle的PayLoad中使用nuget引用的二进制文件?

由于

1 个答案:

答案 0 :(得分:0)

您可以在Wix Bootstrapper项目中安装NuGet包。创建install.ps1以更新Bundle.wxs中的Payloads。在install.ps1结束时保存项目。

  renderItem(d, i) {
      return <tr key={i} >
        <td> {d.Employee_ID} </td>
        <td>{d.Employee_Name}</td>
        <td>{d.Address }</td> 
        <td><center><button className ="btn btn-info" onClick={this.handleOnclick.bind(this,  d.Employee_ID, d.Employee_Name, d.Address , d.Department , i)}   data-toggle="modal" data-target="#UpdateEmployee">Edit</button></center></td>
        <td><center><button className ='btn btn-danger'  onClick={this.handleOnclick2.bind (this,d.Employee_ID,d.Employee_Name,i)} data-toggle="modal" data-target="#DeleteEmployee"> Delete</button></center></td>
        </tr>
    }

    render() {
          if(this.state.isLoading) {
               return <span className="Loader">
                      <h1>
                  <span>Loading</span>
                  <span className="Loader-ellipsis" >
                    <span className="Loader-ellipsisDot">.</span>
                    <span className="Loader-ellipsisDot">.</span>
                    <span className="Loader-ellipsisDot">.</span>
                  </span>
                </h1>

            </span>
         }

        let {jsonReturnedValue} = this.state;
        const isEnabled = this.canBeSubmitted();


      return(
        <div>
        <div>

            <div className="container">   
              <h1> Listof Employees </h1>
                <button className ='btn btn-warning right ' data-toggle="modal" data-target="#AddEmployee"> Add an Employee</button>
                 <table className= "table table-bordered" id="result"> 
                    <tbody>
                     <tr>
                          <th>ID</th>
                          <th>Name</th>
                          <th>Address</th>
                          <th>Update</th>
                          <th>Delete</th>
                     </tr>
                       {/*  
            */} 
                        {jsonReturnedValue.map((d,i) => this.renderItem(d,i))} 

            </tbody>

                </table>
              </div>

不要忘记撤消uninstall.ps1中install.ps1所做的更改,以保持一切顺利。 上述过程将使您无法创建C#dummy项目。