我正在与其他团队成员在一个大的C#项目。到目前为止,这个项目一直是混乱的,每个人都有自己的方式让自己的环境得到发展并运行。对于新成员(以及未来的成员),我试图记录并加强我们的开发过程。该项目的版本由git控制,成员正在使用VS2012,VS2015和Monodevelop。项目没有意识到成功的Nuget包恢复后的包
我们的C#解决方案中的C#项目都有它们需要的NuGet包。我在.gitignore
文件如下:
# NuGet Packages
*.nupkg
# Ignore the actual packages but not the config file for them
**/packages/**/*
!**/packages/repositories.config
# don't ignore build/, which is used as an MSBuild target.
!**/packages/build/
所以,当我从一台机器推,然后克隆另一方面,我确实有包含在项目的解决方案,这些项目有packages.config
文件,这是包含所需软件包和版本名称的xml文件。
这里是我的问题是
我试图与VS2015社区版全新的Windows 7机器克隆回购,这工作得很好。然后有一个提示恢复NuGet包。我做到了。我可以看到,包和版本的安装位置对感兴趣的项目的NuGet包管理器视图:试图隔离
: 但在我的我的项目的参考,他们似乎并没有被安装用较小的项目
我想,也许这是奇怪的问题,所以我关闭了解决方案,并开始与一个小型控制台应用程序项目中的新小的解决方案。我在该项目中添加了旧版NUnit,并验证了NuGet软件包已安装到pakcages
目录中。然后我关闭了解决方案,并删除了packages目录。当我打开解决方案时,它意识到该软件包不在那里,所以我试图通过右键单击软件包菜单来执行恢复软件包操作。这工作得很好。
所以我觉得我必须在搞砸了我大C#项目的一些其他配置。我不知道它是否在我的系统上的其他地方安装软件包。任何指向哪里看或什么配置看看会有所帮助和赞赏!
(我还没有看到这个问题其他地方,其中包装显然是安装,但该项目仍然不知道它)
更新2016年7月28日 我有一个看看nuget.config
文件的解决方案,似乎有一个线有:
<add key="repositorypath" value="External\Packages" />
然后我发现一个目录中相同的水平我命名External Packages
解决方案文件。我想说明的是,最初设置此解决方案及其项目的人员已不在身边。所以我删除了该目录和nuget.config
文件。我重新启动VS2015并运行恢复NuGet软件包操作。这似乎是为了恢复软件包并创建了一个名为packages
的目录,它们现在存储在那里。这现在模仿我在我尝试重新创建这种行为的小型项目中看到的内容。
但我仍然遇到NuGet包管理器说包已安装但“引用”不显示它们的问题。
所以我想知道是否有一种方法来配置VS以查看这些包存储在引用的位置?
当.NET版本不匹配时,我有时会看到相同的问题。这是一个简单的检查,以确保他们这样做,我想我会通过帽子。 –
Ahh ..那么我们正在使用.NET 4.5和mono来保持跨平台的工作,所以如果这是一个问题,那么这会如何影响程序包恢复过程? – Jesse
编辑您的问题以添加包含您的引用的.csproj文件。 –