22

当我安装我的自定义 NuGet 包时,它可以工作,但是 VS 中的输出窗口显示消息,例如它试图添加两次文件并且它们已经存在。输出在这篇文章中进一步下降。

我在这里的服务器上有一个 NuGet 私有存储库,用于托管我们的画廊。安装和卸载工作正常,即使输出窗口显示以下消息。我对规范文件中的标签很好奇<files>,如果有不同的方法我需要这样做。我根据文档尝试了多种方法。我的版本是从 NuGet 站点安装的最新版本。

从网站:The latest version of the nuget.exe command-line tool is always available from http://nuget.org/nuget.exe

指定要包含在包中的文件

输出窗口在Install-Package CustomNuGet上显示如下内容:

/Plugins/CustomNuGet/CSS/custom.css 项已存在。

/Plugins/CustomNuGet/Scripts/custom.js 项已存在。

/Plugins/CustomNuGet/Views/custom.cshtml 项已存在。

输出窗口在Uninstall-Package CustomNuGet上显示如下内容:

在您的工作区中找不到项目 /Plugins/CustomNuGet/CSS/custom.css。

在您的工作区中找不到 /Plugins/CustomNuGet/Scripts/custom.js 项。

在您的工作区中找不到项目 /Plugins/CustomNuGet/Views/custom.cshtml。

我使用命令行工具创建了一个自定义 Nuget 包。该文件夹如下所示:

/CustomNuGet
    CustomNuGet.nuspec
    CustomNuGet.0.1.1.nupkg
    /content
        /lib
            CustomNuGet.dll
        /Plugins
            /Views
                custom.cshtml
            /Scripts
                custom.js
            /CSS
                custom.css

规范文件是使用创建的:nuget spec并且nuget pack根据文档在根 CustomeNuGet 文件夹中的包。这是规范文件:

    <?xml version="1.0"?>
    <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
    <metadata>
        <id>CustomNuGet</id>
        <version>0.1.1</version>
        <authors>CustomNuGet</authors>
        <owners>CustomNuGet</owners>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>CustomNuGet</description>
        <tags>CustomNuGet</tags>
        <references>
            <reference file="CustomNuGet.dll" />
        </references>
        <dependencies>
            <dependency id="WebActivatorEx" version="2.0.0" />
        </dependencies>
    </metadata>
    <files>
        <file src="content\lib\CustomNuGet.dll" target="lib"/>
        <file src="content\Plugins\**" target="content\Plugins" />
    </files>
    </package>

我没有看到任何关于这个确切问题的帖子,所以希望其他人也发生过这种情况,这只是我错过的一个设置。

4

1 回答 1

1

如果您手动删除 .dll 引用而不是使用卸载包通过控制台将其删除,则可能会发生这种情况。检查 packages.config 文件,您尝试安装的软件包可能仍列在那里。您必须从该配置文件中删除它并保存更改。完成后,尝试再次安装软件包,它应该可以工作。

于 2015-07-05T19:40:50.340 回答