我如何以编程方式从运行.exe的机器获取MSBuild的路径?
我可以从环境中获取.NET版本但是有没有办法为.NET版本获取正确的文件夹?
我正在尝试为.NET设置构建服务器,但无法弄清楚MSBuild.exe的安装位置.
我正在尝试使用Microsoft Build Tools 2013安装MSBuild:https: //www.microsoft.com/en-us/download/details.aspx?id = 40760
我是Wix的新手,我成功为我的项目创建了一个MSI安装程序,但是我的Bin文件夹有很多带有EXE主文件的DLL文件,我想用安装程序包含所有这些文件
我找到了这个解决方案,这似乎是正确的,但不幸的是我无法在我的Wix文件中完成此解决方案,这是我的Wix文件:
<Product Id="*" Name="Setup"
Language="1033" Version="1.0.1.0"
Manufacturer="ORDER MS"
UpgradeCode="a4f0a0d0-ae64-4f62-9bb3-efa7e75072e0">
<Package InstallerVersion="200"
Compressed="yes"
InstallScope="perMachine" />
<MajorUpgrade Schedule="afterInstallInitialize"
DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<Feature Id="ProductFeature" Title="Setup" Level="1">
<ComponentGroupRef Id="ProductComponents" />
<ComponentRef Id="ApplicationShortcutDesktop" />
<ComponentRef Id="ApplicationShortcut" />
</Feature>
<Icon Id="Icon.exe" SourceFile="$(sys.CURRENTDIR)\icon.ico"/>
<Property Id="ARPPRODUCTICON" Value="icon.exe" />
Run Code Online (Sandbox Code Playgroud)
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<Component Id="ProductComponent">
<File Source="$(var.Order.TargetPath)" />
</Component>
<Component Guid="A7C42303-1D77-4C70-8D5C-0FD0F9158EB4" Id="CopyComponent">
<CopyFile Id="SomeId"
SourceProperty="SOURCEDIRECTORY"
DestinationDirectory="CopyTestDir" SourceName="*" />
</Component>
</ComponentGroup>
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
错误1 ICE18:组件的KeyPath:'CopyComponent'是目录:'INSTALLFOLDER'.目录/组件对必须在CreateFolders表中列出.
提前致谢
Abdulsalam
当前,当我运行我的项目时,它将执行我设置的构建后命令。但是,仅当项目进行了更改时,这才是正确的。我的最终目标是在每次构建项目时都运行我的项目。但是,我注意到的是,如果要按角度更改HTML文件,则该项目不会检测到任何更改,因此不会再次生成,因此不会运行ng build命令。
有没有办法强迫它始终运行生成后命令,或者即使没有检测到更改也可以使其始终重建?也许还有另一种方法可以做到这一点?
这是一个.NET Core WebApp,运行我的构建后事件的代码位于我的.csproj文件中
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="echo Building Angular App..." />
<Exec Command="cd ClientApp && ng build" />
</Target>
Run Code Online (Sandbox Code Playgroud)