0

NuGet.exe 1.2.20311.3 と次の仕様を使用して Nuget パッケージを作成しようとしています。

<?xml version="1.0" encoding="utf-8"?>
<package xmlns:xsd="http://www.w3.org/2001/XMLSchema"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<metadata>
    <id>SharedWebsitesMvc</id>
    <version>1.0.16</version>
<authors>Ted</authors>
<owners>Ted</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Shared Websites Mvc Library</description>
    <frameworkAssemblies>
        <frameworkAssembly assemblyName="mscorlib" targetFramework=".NETFramework4.6" />
        <frameworkAssembly assemblyName="System" targetFramework=".NETFramework4.6" />
        <frameworkAssembly assemblyName="System.Core" targetFramework=".NETFramework4.6" />
        <frameworkAssembly assemblyName="Microsoft.CSharp" targetFramework=".NETFramework4.6" />
    </frameworkAssemblies>
</metadata>
<files>
    <file src="D:\Projects\Websites\SharedWebsitesMvc.dll" target="lib\net46\SharedWebsitesMvc.dll" />
    <file src="D:\Projects\Websites\SharedWebsitesMvc.xml" target="lib\net46\SharedWebsitesMvc.xml" />
    <file src="D:\Projects\Websites\Scripts\backtalk.js" target="js\backtalk.js" />
    <file src="D:\Projects\Websites\Scripts\shared.js" target="js\shared.js" />
    <file src="D:\Projects\Websites\SharedWebsitesMvcInstall.ps1" target="tools\Install.ps1" />
</files>

Nuget によってパッケージが生成され、パッケージ エクスプローラーに次のように表示されます。

js
    backtalk.js
    shared.js
lib
    net46
         SharedWebsitesMvc.dll
         SharedWebsitesMvc.xml
tools
     Install.ps1

Install.ps1 は次のようになります。

param($installPath, $toolsPath, $package, $project)
Write-Host "hello from install.ps1"

このパッケージを MVC プロジェクトにインストールすると、スクリプト ファイルがコピーされず、パッケージ コンソールにスクリプトからの出力が表示されません。Visual Studio 2016 を使用しています。

NuGet 仕様の何が問題になっていますか?

4

1 に答える 1

0

JavaScript ファイルには、Content で始まるターゲットが必要です。

<file src="D:\Projects\Websites\Scripts\backtalk.js" target="Content\js\backtalk.js" />
<file src="D:\Projects\Websites\Scripts\shared.js" target="Content\js\shared.js" />

上記は、project.json ファイルを使用するプロジェクトをサポートしていません。.nu​​spec ファイルでContentFilesセクションを使用する必要がある場合:

<contentFiles>
    <files include="D:\Projects\Websites\Scripts\backtalk.js"   buildAction="None" />
</contentFiles>

.nu​​spec ファイルは、packages.config ファイルを使用するプロジェクトの install.ps1 PowerShell スクリプトに対して問題ないように見えます。project.json ファイルを使用するプロジェクトでは、install.ps1 はサポートされないことに注意してください。

于 2016-05-02T16:49:38.650 に答える