[英]How do I get a list of connected TFS projects in Visual Studio?
[英]How do I change the references folder of a lot of Visual Studio projects?
这是一个尴尬的问题:我们正在清理一些旧的C#代码。 它具有大量的硬依赖性。 我们已经用NuGet依赖项替换了所有硬性依赖项。
但是,现在,当我们构建项目时,它将所有下载的依赖项放置在C:\\Assemblies
。 因为(iirc?)Visual Studio仅使用相对路径,所以我怀疑它实际上将进入"..\\..\\..\\Assemblies"
或类似的路径,因此取决于它所在的目录。它似乎也在创建其他父目录中的某些其他Assembly文件夹,因此甚至不一致。
此问题影响数十个解决方案,每个解决方案都有十几个或多个项目。 我想用不会引起问题的一致的东西替换它们。 上一层(即"..\\Assemblies\\"
)可能会起作用,但是不同的解决方案是将不同数量的文件夹放入其中。 也许最好给每个项目各自的/lib/
文件夹(我认为这是标准做法?)。
我需要更改什么-是csproj文件中的仅OutputPath
和HintPath
参数,还是更多? 是否有一些不错的自动化方法来执行此操作,或者我将不得不手动更改每个csproj文件?
但是,现在,当我们构建项目时,它将所有下载的依赖项都放置在C:\\ Assemblies ...中。它似乎还在其他父目录中创建了一些其他Assemblies文件夹,因此甚至不一致。
那是因为您的计算机上应该有几个配置文件NuGet.Config
。 您可以参考官方文档: 配置NuGet行为以获取更多详细信息。
默认引用文件夹是在解决方案目录,我们可以使用repositoryPath
在nuget.config
更改默认值。
<configuration>
<config>
<add key="repositoryPath" value="..\Packages" />
</config>
</configuration>
此外,一台机器上可以存在任何数量的NuGet.Config文件,无论是在全局位置还是在项目的文件夹结构中。 这样,您可以在应用于项目,项目组或所有项目的不同位置控制设置。
因此,您的计算机上应该有多个nuget.config文件,这将导致不同解决方案的参考文件夹不一致。
要解决此问题,您需要清理计算机上的其他nuget.config
文件,但全局nuget.config
除外,该文件位于路径%appdata%\\NuGet
,然后将repositoryPath
配置为要保存引用的文件夹。 它可以是相对路径,也可以是绝对路径。
如果要将参考文件夹设置为某个解决方案的特殊目录,则可以在解决方案文件.sln旁边添加一个NuGet.config文件,并配置repositoryPath
。 该文件只会更改当前解决方案的references文件夹。
我需要更改什么-是csproj文件中的仅OutputPath和HintPath参数,还是更多? 是否有一些不错的自动化方法来执行此操作,或者我将不得不手动更改每个csproj文件?
您无需手动更改.csproj文件,在配置了repositoryPath
,将您的Visual Studio清理干净,然后重新打开它,当您打开“程序包管理器控制台”或“管理NuGet”程序包时,会提示您还原程序包。寻求解决方案。 等待还原完成。 然后,您只需使用命令行:
Update-Package –reinstall
在包管理器控制台窗口中,将的NuGet更新HintPath
中的csproj文件自动参数。
有关更多详细信息,请参见如何重新安装和更新软件包 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.