我有一个解决方案,其中包含一些用于多个其他项目的类库。当我从VS执行Install-Package
时,它将$(SolutionDir)\packages\
并将其转换为相对路径,例如..\packages\
。然后将其保存到.csproj
文件中。
我的问题是这些.csproj文件在具有不同文件层次结构的不同位置使用,这意味着..\packages\
在某些其他解决方案中不会指向$(SolutionDir)\packages\
。所以问题是,如何让它$(SolutionDir)\packages\
写入.csproj
文件而不是..\packages\
?
答案 0 :(得分:3)
你无法让NuGet将$(SolutionDir)\ packages写入项目文件。您需要修改其源代码。
NuGet为多个解决方案提供了一种通过在NuGet.Config file中定义此目录来共享公共包目录的方法。
var getAdmin = function() {
var rootRef = new Firebase(FIREBASE_URI),
adminList = [],
deferred = $q.defer();
rootRef.child('user').orderByChild('role').startAt(21).once('child_added', function (administrator) {
// Add each Administrator to Admin List
adminList.push(administrator);
});
// deferred.resolve(?)
return deferred.promise;
};
您可以将此NuGet.config文件放在解决方案的公共父目录中,然后NuGet会找到它并将其用于解决方案。
答案 1 :(得分:0)
可以使用的一件事是您将所有解决方案保持在一个级别。这样,包文件夹对于所有解决方案/项目都处于同一级别。