8

我有一个 C# 解决方案包含许多项目。每个项目引用指定文件夹中的一些 dll。根据 MSDN,我们可以在 project -> Properties -> Reference Paths 中添加项目的引用路径。它将在项目文件夹下生成一个 .csproj.user 文件,内容如下:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <ReferencePath>C:\References\bin\</ReferencePath>
    </PropertyGroup>
</Project>

但这仅适用于一个项目。是否有一种简单的方法可以将相同的设置应用于解决方案中的所有项目?

4

2 回答 2

7

我找到了一篇博客文章,解释了如何做到这一点。

打开包管理器控制台(例如查看 | 其他窗口 | 包管理器控制台)并使用如下脚本作为相对路径:

$path = [System.IO.Path]; foreach ($proj in get-project -all) {$proj.Properties.Item("ReferencePath").Value="$($path::GetDirectoryName($proj.filename))\..\libs"}

或者对于所有项目的单个固定项目参考:

foreach ($proj in get-project -all) {$proj.Properties.Item("ReferencePath").Value="C:\lib"}
于 2015-08-18T16:44:53.860 回答
0

我不相信有,可能是因为项目可以加载到许多解决方案中,并且如果所需库的引用路径被限定为解决方案,您最终会遇到构建错误或不同的行为,具体取决于您使用的解决方案如果解决方案告诉项目在不同的地方寻找依赖关系,则构建项目。

于 2012-05-14T04:25:38.580 回答