第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Nuget:包含一個 exe 作為運行時依賴項

Nuget:包含一個 exe 作為運行時依賴項

C#
森林海 2021-11-28 16:05:28
我有一個 .exe 應(yīng)用程序,我需要在它構(gòu)建時與我的 C# 應(yīng)用程序一起分發(fā)。我正在嘗試使用 Nuget 對其進行打包,以便在構(gòu)建時將其包含在構(gòu)建根目錄中,但無法獲得我想要的行為。這是我的.nuspec文件中的內(nèi)容:<?xml version="1.0"?><package>  <metadata>    <id>my.id</id>    <version>1.0.0</version>    <authors>me</authors>    <owners>me</owners>    <licenseUrl>myurl</licenseUrl>    <projectUrl>myurl</projectUrl>    <requireLicenseAcceptance>false</requireLicenseAcceptance>    <description>A copy of an .exe so we can easily distribute it        with our applications without needing to include it in our VCS repo</description>    <releaseNotes>Initial test version</releaseNotes>    <copyright>Copyright 2018</copyright>    <dependencies>    </dependencies>    <packageTypes>    </packageTypes>    <contentFiles>        <files include="any\any\myexe.exe" buildAction="None" copyToOutput="true" />    </contentFiles>  </metadata>  <files>    <file src="content\myexe.exe" target="content" />  </files></package>當我安裝 Nuget 包時,這會將 myexe.exe 文件放入我的 VS 項目,但在我構(gòu)建時它不會復(fù)制該文件。我想要的是在構(gòu)建時將文件與我的其他應(yīng)用程序文件一起安裝并將其保留在我的 VS 項目之外。我一直在這里閱讀文檔,但不確定如何制作 nuspec 文件。更多細節(jié):紐吉特 4.5.1視覺工作室 2015注意:<files>和<contentFiles>似乎是重復(fù)的功能。我想同時使用兩者,因為我知道這將在 VS2017 中證明它的未來
查看完整描述

1 回答

?
阿波羅的戰(zhàn)車

TA貢獻1862條經(jīng)驗 獲得超6個贊

Nuget:包含一個 exe 作為運行時依賴項


首先,我知道你想為未來使用一些技術(shù),但我們要知道,這些面向未來的技術(shù)往往有一定的限制和條件。


例如,<contentFiles>用于NuGet 4.0 + 和PackageReference,Visual Studio 2015不支持它們。有關(guān)詳細信息,請參閱將 contentFiles 元素用于內(nèi)容文件。


如果您對此感興趣<contentFiles>,可以閱讀博客NuGet 現(xiàn)在已完全集成到 MSBuild 中。


現(xiàn)在回到我們的問題,根據(jù)上面的信息,我們<contentFiles>在使用Visual Studio 2015時不應(yīng)該使用。 為了解決這個問題,我們需要.targets在構(gòu)建項目時在nuget包中添加一個文件:


.targets文件內(nèi)容:


<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <ItemGroup>

    <None Include="$(ProjectDir)myexe.exe">

      <Link>myexe.exe</Link>

      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

      <CustomToolNamespace></CustomToolNamespace>

    </None>

  </ItemGroup>

</Project>

該.nuspec文件類似以下內(nèi)容:


  <files>

    <file src="build\YouNuGetPackageName.targets" target="build\YouNuGetPackageName.targets" />

    <file src="content\myexe.exe" target="content\myexe.exe" />

  </files>

注意: .targets 文件的名稱應(yīng)與您的 nuget 包名稱相同。


通過這種方式,當您構(gòu)建項目時,MSBuild/VS 會將文件復(fù)制myexe.exe到輸出文件夾。


此外,如果要將文件復(fù)制myexe.exe到其他目的地,可以.targets使用復(fù)制任務(wù)替換文件內(nèi)容,例如:


<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">


  <Target Name="CopyMyexe" BeforeTargets="Build">

  <Message Text="Copy CopyMyexe to the folder."></Message>

  <Copy

  SourceFiles="$(ProjectDir)myexe.exe"

  DestinationFolder="xxx\xxx\xx\myexe.exe"

/>

  </Target>

</Project>

有關(guān)一些幫助,請參閱創(chuàng)建本機包和類似問題。


希望這可以幫助。


查看完整回答
反對 回復(fù) 2021-11-28
  • 1 回答
  • 0 關(guān)注
  • 247 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號