VS2015-第'页;NuGetPackage';包未正确加载

VS2015-第'页;NuGetPackage';包未正确加载,nuget,visual-studio-2015,Nuget,Visual Studio 2015,刚刚打开VS 2015 Enterprise RTM,打开一个现有的工作项目,出现以下错误: Microsoft Visual Studio “NuGetPackage”包未正确加载 该问题可能是由配置更改或安装其他扩展引起的。通过检查文件C:\Users\redact\AppData\Roaming\Microsoft\VisualStudio\14.0\ActivityLog.xml,可以获得更多信息 重新启动Visual Studio有助于解决此问题 是否继续显示此错误消息 [是][

刚刚打开VS 2015 Enterprise RTM,打开一个现有的工作项目,出现以下错误:


Microsoft Visual Studio


“NuGetPackage”包未正确加载

该问题可能是由配置更改或安装其他扩展引起的。通过检查文件
C:\Users\redact\AppData\Roaming\Microsoft\VisualStudio\14.0\ActivityLog.xml
,可以获得更多信息

重新启动Visual Studio有助于解决此问题

是否继续显示此错误消息


[是][否]


重新启动没有帮助。我检查了日志文件,发现了与nuget相关的以下部分:


555
2015/07/20 16:06:34.364
错误
扩展管理器
由于具有相同ID的扩展名,将不会加载扩展名
&载脂蛋白;Microsoft.Dev14.VsixTemplatesPackage.443cca91-ec20-41e5-a165-f28e56b89650'
已在C:\PROGRAM FILES(X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE中加载\
扩展名\G2URSPAC.VAZ\。。。
C:\ProgramFiles(X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE\EXTENSIONS\
NuGetifiedExtensionTemplates\
556
2015/07/20 16:06:34.364
错误
扩展管理器
由于具有相同ID的扩展名,将不会加载扩展名
&载脂蛋白;Microsoft.VisualStudio.TeamFoundation.TeamExplorer.Extensions'已经
加载位置为C:\PROGRAM FILES(X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE\EXTENSIONS\
B1NOYPH.H2N\。。。
C:\ProgramFiles(X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE\COMMONEXTENSIONS\
MICROSOFT\TEAMFOUNDATION\TEAM EXPLORER\
这会建议使用重复的扩展,但在扩展管理器中似乎不是这样


这是在也安装了VS2013的机器上。它从未安装过任何VS2015的预览版/RC版本。

通过扩展和更新完全删除NuGet,重新启动VS,然后通过扩展和更新重新安装NuGet解决了我的问题。完全重新安装VS是不必要的。

我遇到了同样的问题,并用前面提到的解决方案解决了它,但需要更多的尝试。在卸载和安装NuGetPackage扩展之后,有必要完全重新启动VS。在我的系统上,直到关闭打开的解决方案,它才开始工作。希望NuGetPackage扩展在不久的将来变得更加稳定。

将Nuget更新到最新版本似乎解决了这个问题

  • 工具>扩展和更新

  • 更新>Visual Studio库

  • 单击Nuget Package Manager选项上的更新


  • 在MSDN网站上完全干净地安装了Visual Studio Professional 2015之后,我以管理员身份运行了VS2015,从
    Tools->NuGet Package Manager…->打开了Package Manager控制台Package Manager控制台
    ,我收到此错误:

    "Windows PowerShell updated your execution policy successfully, 
    but the setting is overridden by a policy defined at a more 
    specific scope. Due to the override, your shell will retain its 
    current effective execution policy of Unrestricted. 
    Type "Get-ExecutionPolicy -List" to view your execution policy 
    settings. For more information please see "Get-Help Set-ExecutionPolicy"
    
    通过执行上述步骤来

    1) 使用
    工具->扩展和更新…
    卸载
    NuGet Package Manager for Visual Studio 2015

    2) 重新启动VisualStudio

    3) 使用
    工具->扩展和更新…
    重新安装
    NuGet Package Manager for Visual Studio 2015

    4) 重新启动VisualStudio


    现在,当我打开PackageManager控制台时,Powershell将正确加载,一切都很好。非常感谢

    删除此文件夹中的所有文件
    C:\Program files(x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\imf5jbeu.eak
    似乎对我很有效。

    将带有nuget软件包的项目从Vx20XX升级到VS2015时,您可能会遇到nuget软件包问题

    错误消息的示例: 此项目引用此计算机上缺少的NuGet包。启用NuGet软件包还原以下载它们。有关详细信息,请参阅

    我解决了我写一个小程序的问题

    您可以下载该工具的可执行文件

    请让我知道结果:-)

    代码作为参考:

    <Window x:Class="FixNuGetProblemsInVs2015.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:FixNuGetProblemsInVs2015"
            mc:Ignorable="d"
            Title="Fix NuGet Packages problems in Visual Studio 2015 (By Eric Ouellet)" Height="350" Width="525">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition Height="Auto"></RowDefinition>
                <RowDefinition Height="*"></RowDefinition>
                <RowDefinition Height="Auto"></RowDefinition>
            </Grid.RowDefinitions>
    
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"></ColumnDefinition>
                <ColumnDefinition Width="10"></ColumnDefinition>
                <ColumnDefinition></ColumnDefinition>
            </Grid.ColumnDefinitions>
    
            <TextBlock Grid.Row="0" Grid.Column="0">Root directory of projects</TextBlock>
            <Grid Grid.Row="0" Grid.Column="2">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition></ColumnDefinition>
                    <ColumnDefinition Width="Auto"></ColumnDefinition>
                </Grid.ColumnDefinitions>
    
                <TextBox Grid.Column="0" Name="DirProjects"></TextBox>
                <Button Grid.Column="1" VerticalAlignment="Bottom" Name="BrowseDirProjects" Click="BrowseDirProjectsOnClick">Browse...</Button>
            </Grid>
    
            <!--<TextBlock Grid.Row="1" Grid.Column="0">Directory of NuGet Packages</TextBlock>
            <Grid Grid.Row="1" Grid.Column="2">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition></ColumnDefinition>
                    <ColumnDefinition Width="Auto"></ColumnDefinition>
                </Grid.ColumnDefinitions>
    
                <TextBox Grid.Column="0" Name="DirPackages"></TextBox>
                <Button Grid.Column="1"  Name="BrowseDirPackages" Click="BrowseDirPackagesOnClick">Browse...</Button>
            </Grid>-->
    
            <TextBox Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="3" Name="TxtLog" IsReadOnly="True"></TextBox>
    
            <Button Grid.Row="3" Grid.Column="0" Click="ButtonRevertOnClick">Revert back</Button>
            <Button Grid.Row="3" Grid.Column="2" Click="ButtonFixOnClick">Fix</Button>
        </Grid>
    </Window>
    
    
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Forms;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    using System.Xml;
    using System.Xml.Linq;
    using Application = System.Windows.Application;
    using MessageBox = System.Windows.MessageBox;
    
    /// <summary>
    /// Applying recommanded modifications in section : "MSBuild-Integrated package restore vs. Automatic Package Restore"
    /// of : http://docs.nuget.org/Consume/Package-Restore/Migrating-to-Automatic-Package-Restore
    /// </summary>
    
    namespace FixNuGetProblemsInVs2015
    {
        /// <summary>
        /// Interaction logic for MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
    
                DirProjects.Text = @"c:\prj";
                // DirPackages.Text = @"C:\PRJ\NuGetPackages";
            }
    
            private void BrowseDirProjectsOnClick(object sender, RoutedEventArgs e)
            {
                FolderBrowserDialog dlg = new FolderBrowserDialog();
                dlg.SelectedPath = DirProjects.Text;
                if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    DirProjects.Text = dlg.SelectedPath;
                }
            }
    
            //private void BrowseDirPackagesOnClick(object sender, RoutedEventArgs e)
            //{
            //  FolderBrowserDialog dlg = new FolderBrowserDialog();
            //  dlg.SelectedPath = DirPackages.Text;
            //  if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            //  {
            //      DirPackages.Text = dlg.SelectedPath;
            //  }
            //}
    
            // private string _dirPackages;
    
            private void ButtonFixOnClick(object sender, RoutedEventArgs e)
            {
                DoJob(false);
            }
    
            private void ButtonRevertOnClick(object sender, RoutedEventArgs e)
            {
                DoJob(true);
            }
    
            private void DoJob(bool revert = false)
            {
                TxtLog.Text = "";
    
                string dirProjects = DirProjects.Text;
                // _dirPackages = DirPackages.Text;
    
                if (!Directory.Exists(dirProjects))
                {
                    MessageBox.Show("Projects directory does not exists: " + dirProjects);
                    return;
                }
    
                //if (!Directory.Exists(_dirPackages))
                //{
                //  MessageBox.Show("Packages directory does not exists: " + _dirPackages);
                //  return;
                //}
    
                RecurseFolder(dirProjects, revert);
            }
    
            private void RecurseFolder(string dirProjects, bool revert = false)
            {
                if (revert)
                {
                    Revert(dirProjects);
                }
                else
                {
                    FixFolder(dirProjects);
                }
    
                foreach (string subfolder in Directory.EnumerateDirectories(dirProjects))
                {
                    RecurseFolder(subfolder, revert);
                }
            }
    
            private const string BackupSuffix = ".fix_nuget_backup";
    
            private void Revert(string dirProject)
            {
                foreach (string filename in Directory.EnumerateFiles(dirProject))
                {
                    if (filename.ToLower().EndsWith(BackupSuffix))
                    {
                        string original = filename.Substring(0, filename.Length - BackupSuffix.Length);
                        if (File.Exists(original))
                        {
                            File.Delete(original);                                          
                        }
                        File.Move(filename, original);
                        Log("File reverted: " + filename + " ==> " + original);
                    }
                }
            }
    
            private void FixFolder(string dirProject)
            {
                BackupFile(System.IO.Path.Combine(dirProject, "nuget.targets"));
                BackupFile(System.IO.Path.Combine(dirProject, "nuget.exe"));
    
                foreach (string filename in Directory.EnumerateFiles(dirProject))
                {
                    if (filename.ToLower().EndsWith(".csproj"))
                    {
                        FromProjectFileRemoveNugetTargets(filename);
                    }
                }
            }
    
            private void BackupFile(string path)
            {
                if (File.Exists(path))
                {
                    string backup = path + BackupSuffix;
                    if (!File.Exists(backup))
                    {
                        File.Move(path, backup);
                        Log("File backup: " + backup);
                    }
                    else
                    {
                        Log("Project has already a backup: " + backup);
                    }
                }
            }
    
            private void FromProjectFileRemoveNugetTargets(string prjFilename)
            {
                XDocument xml = XDocument.Load(prjFilename);
    
                List<XElement> elementsToRemove = new List<XElement>();
    
                foreach (XElement element in xml.Descendants())
                {
                    if (element.Name.LocalName == "Import")
                    {
                        var att = element.Attribute("Project");
                        if (att != null)
                        {
                            if (att.Value.Contains("NuGet.targets"))
                            {
                                elementsToRemove.Add(element);
                            }
                        }
                    }
    
                    if (element.Name.LocalName == "Target")
                    {
                        var att = element.Attribute("Name");
                        if (att != null && att.Value == "EnsureNuGetPackageBuildImports")
                        {
                            elementsToRemove.Add(element);
                        }
                    }
                }
    
                if (elementsToRemove.Count > 0)
                {
                    elementsToRemove.ForEach(element => element.Remove());
                    BackupFile(prjFilename);
                    xml.Save(prjFilename);
                    Log("Project updated: " + prjFilename);
                }
            }
    
            private void Log(string msg)
            {
                TxtLog.Text += msg + "\r\n";
            }
    
        }
    }
    
    
    项目的根目录
    浏览。。。
    回复
    修理
    使用制度;
    使用System.Collections.Generic;
    使用系统组件模型;
    使用系统诊断;
    使用System.IO;
    使用System.Linq;
    使用系统文本;
    使用System.Threading.Tasks;
    使用System.Windows;
    使用System.Windows.Controls;
    使用System.Windows.Data;
    使用System.Windows.Documents;
    使用System.Windows.Forms;
    使用System.Windows.Input;
    使用System.Windows.Media;
    使用System.Windows.Media.Imaging;
    使用System.Windows.Navigation;
    使用System.Windows.Shapes;
    使用System.Xml;
    使用System.Xml.Linq;
    使用Application=System.Windows.Application;
    使用MessageBox=System.Windows.MessageBox;
    /// 
    ///应用“MSBuild集成包还原与自动包还原”部分中建议的修改
    ///其中:http://docs.nuget.org/Consume/Package-Restore/Migrating-to-Automatic-Package-Restore
    /// 
    命名空间FixNuGetProblemsInVs2015
    {
    /// 
    ///MainWindow.xaml的交互逻辑
    /// 
    公共部分类主窗口:窗口
    {
    公共主窗口()
    {
    初始化组件();
    DirProjects.Text=@“c:\prj”;
    //DirPackages.Text=@“C:\PRJ\NuGetPackages”;
    }
    private void BrowseDirProjectsOnClick(对象发送者,路由目标)
    {
    FolderBrowserDialog dlg=新建FolderBrowserDialog();
    dlg.SelectedP