gpt4 book ai didi

.net - .net Reference Assemblies 文件夹是否必须位于系统驱动器上?

转载 作者:行者123 更新时间:2023-12-01 14:16:14 25 4
gpt4 key购买 nike

在 Visual Studio 中查看构建时间问题时,我发现使用系统监视器时它正在从 .net Reference Assemblies 文件夹中读取大量文件。

.net Reference Assemblies 文件夹位于系统驱动器上,该驱动器是普通驱动器;但是我们在每台机器上都有一个 SSD。那么我可以将它移动到 SSD 吗?

最佳答案

老实说,我更喜欢 Tim Medora 的方法,因为它更简洁并且会给您带来整体上的巨大提升。我刚刚在我的工作笔记本电脑中安装了一个 SSD,它绝对棒极了。

但是,是的,我认为如果您真的愿意,您可以将引用程序集从系统驱动器中复制出来。我认为 Microsoft 不支持它,但我认为它会起作用。

在阅读 ResolveAssemblyReference 是与该引用程序集文件夹最密切相关的任务后,我正在 Microsoft.Common.targets 中进行一些挖掘。

然后我发现了这个(我专门看 3.5,x64 版本):

<!--
============================================================
GetReferenceAssemblyPaths

Get the paths for the Reference Assemblies for the known versions of the
.NET Framework.

These paths are used by the build process in order to resolve the correct
assemblies from the various directories, and to support multi-targeting
============================================================
-->
<PropertyGroup>
<GetReferenceAssemblyPathsDependsOn></GetReferenceAssemblyPathsDependsOn>
</PropertyGroup>
<Target
Name="GetReferenceAssemblyPaths"
DependsOnTargets="$(GetReferenceAssemblyPathsDependsOn)">

<!-- Ordering of target framework directories doesn't matter except for assemblies
that aren't in a redist list; for those, make sure we order 3.5, 3.0, 2.0 -->

<PropertyGroup Condition=" '$(TargetFrameworkVersion)' == 'v3.0' or '$(TargetFrameworkVersion)' == 'v3.5' ">
<TargetFrameworkDirectory>$(WinFXAssemblyDirectory);$(TargetFrameworkDirectory)</TargetFrameworkDirectory>
</PropertyGroup>

<PropertyGroup Condition=" '$(TargetFrameworkVersion)' == 'v3.5' ">
<TargetFrameworkDirectory>$(Registry:HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AssemblyFolders\v3.5@All Assemblies In);$(TargetFrameworkDirectory)</TargetFrameworkDirectory>
</PropertyGroup>

</Target>

请注意 TargetFrameworkDirectory 属性的注册表位置 - 果然,它指向该引用程序集文件夹。

我可以看到 3 个选项 - 可能还有其他选项:

  1. 为 .NET 版本更改适当的 .targets 文件并硬编码系统路径
  2. 更改注册表项(这可能会导致严重的副作用)
  3. 尝试在构建时使用 MSBuild 覆盖 TargetFrameworkDirectory 的值

很想知道这是否适合您!

关于.net - .net Reference Assemblies 文件夹是否必须位于系统驱动器上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13326314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com