我有一个用于多个其他项目的类库的解决方案。当我从VS执行Install-Package时,它将使用$(SolutionDir)\packages\并将其转换为相对路径,例如..\packages\。然后将其保存到.csproj文件中。
我的问题是,这些.csproj文件在具有不同文件层次结构的不同位置使用,这意味着..\packages\在其他解决方案中不会指向$(SolutionDir)\packages\。所以问题是,如何将$(SolutionDir)\packages\写入.csproj文件而不是..\packages\
发布于 2015-10-06 16:22:22
您不能让NuGet将$(SolutionDir)\包写入项目文件。您需要修改它的源代码。
NuGet所提供的是多个解决方案通过在NuGet.Config文件中定义这个目录来共享一个公共包目录的方法。
<configuration>
<config>
<add key="repositoryPath" value="SomeDirectory\Packages" />
</config>
</configuration>您可以将这个NuGet.config文件放在解决方案的公共父目录中,然后NuGet会找到它并将其用于解决方案。
发布于 2016-07-29 12:21:32
可以使用的一件事是,将所有解决方案保持在一个级别上。这样,所有解决方案/项目的软件包文件夹都将处于相同的级别。
https://stackoverflow.com/questions/32970652
复制相似问题