为什么在构建解决方案时Visual Studio在当前用户的临时文件夹.NETFramework,Version=v4.5.AssemblyAttributes.cs
中生成以下文件C:\Users\[USERNAME]\AppData\Local\Temp
?
文件内容如下:
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.5", FrameworkDisplayName = ".NET Framework 4.5")]
这个问题浮现在脑海,因为重新启动PC时出现问题,该文件丢失,请参见Visual Studio Rebuilds unmodified projects sometimes after a PC reboot。
答案 0 :(得分:2)
为什么Visual Studio在temp文件夹中生成以下文件.NETFramework,Version = v4.5.AssemblyAttributes.cs
由于您对生成此文件的原因感兴趣,因此建议您检查此文档:
MSBuild: unnecessary rebuilds because of generated AssemblyAttributes.cs
Kirill Osenkov在该文章中使用了一个示例来解释为什么在temp文件夹中生成文件。
类似地,我们可以知道在该文章中生成此文件之后进行不必要的重建的原因,以及如何解决此问题。
因此,将以下几行添加到您的csproj
文件中:
<PropertyGroup>
<TargetFrameworkMonikerAssemblyAttributesPath>$([System.IO.Path]::Combine('$(IntermediateOutputPath)','$(TargetFrameworkMoniker).AssemblyAttributes$(DefaultLanguageSourceExtension)'))</TargetFrameworkMonikerAssemblyAttributesPath>
</PropertyGroup>
希望这会有所帮助。