自定义NuGet包安装输出窗口消息

时间:2015-01-15 16:09:01

标签: c# .net visual-studio-2012 nuget nuget-spec

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

我在服务器上有一个NuGet私有存储库,用于托管我们的库。安装和卸载正在运行,即使输出窗口显示以下消息。我对spec文件中的<files>标记感到好奇,如果有不同的方法我需要这样做。我已经尝试了多种基于文档的方法。我的版本是从NuGet网站安装的最新版本。

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

Specifying files to include in the package

输出窗口在安装包CustomNuGet 上显示如下内容:

  

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

     

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

     

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

输出窗口在卸载程序包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

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

    <?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>

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

1 个答案:

答案 0 :(得分:1)

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