Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 项目<;项目名称>;不是最新的。缺少输入文件';netframework,版本=v4.0,概要文件=client.assemblyattributes.cs_C#_Vb.net_Visual Studio 2013_Project - Fatal编程技术网

C# 项目<;项目名称>;不是最新的。缺少输入文件';netframework,版本=v4.0,概要文件=client.assemblyattributes.cs

C# 项目<;项目名称>;不是最新的。缺少输入文件';netframework,版本=v4.0,概要文件=client.assemblyattributes.cs,c#,vb.net,visual-studio-2013,project,C#,Vb.net,Visual Studio 2013,Project,我有一个超过50个项目的sln,最近,当我移动到VS2013时,每次我按F5进行构建,它都会重建所有项目,即使我刚刚执行了构建。诊断显示,每个项目都标记为非最新,并出现以下错误: Project <PROJECT NAME> is not up to date. Missing input file 'c:\users\USER\appdata\local\temp\2\.netframework,version=v4.0,profile=client.assemblyattribu

我有一个超过50个项目的sln,最近,当我移动到VS2013时,每次我按F5进行构建,它都会重建所有项目,即使我刚刚执行了构建。诊断显示,每个项目都标记为非最新,并出现以下错误:

Project <PROJECT NAME> is not up to date. Missing input file 'c:\users\USER\appdata\local\temp\2\.netframework,version=v4.0,profile=client.assemblyattributes.cs
项目不是最新的。缺少输入文件“c:\users\USER\appdata\local\temp\2\.netframework,版本=v4.0,概要文件=client.assemblyattributes.cs”
我读过这些帖子:

但建议在项目文件中添加以下行:

  <Target Name="GenerateTargetFrameworkMonikerAttribute" />

我做了,但没有成功。按照MS的建议压制警告也不起作用,因为该项目将保持“非最新”

我正在使用VS2013、C#和VB项目对于同一个项目和VS2012,不会出现此类错误,并且项目是最新的。

有什么建议吗

更新 也许值得一提的是,我在解决方案中有一些构建定义,其中所有项目都是为任何CPU构建的,只有一个除外:

此消息中有一个信号,请注意该路径名中存在
\2
子目录。这是一个很大的危险信号,它是正常的。这个自动生成的.cs文件通常位于TEMP目录中,而不是该文件夹的子目录。这肯定与你真正的问题有关

MSBuild不做任何特殊操作,只使用System.IO.Path.GetTempPath()生成文件夹名称。该方法也不是特别的,它只是将作业委托给winapi函数。因此,诊断是,在这个构建机器上,操作系统函数有时会生成一个奇数球路径,拾取临时文件夹的子目录。而且它并不总是生成相同的一个,从而导致您的项目得到重建

对于这种行为,至少有一个好的理论,评论家@Darran Rowe提到:

不,这是工作中的终端服务。当您通过远程桌面登录时,Windows会将登录会话的临时目录设置为
%LOCALAPPDATA%\temp\


敲响了警钟?

我遇到了同样的问题,通过升级
*.csproj
文件中的
ToolsVersion
属性解决了这个问题:
ToolsVersion=“4.0”
替换为
ToolsVersion=“16.0”


(我正在使用Visual Studio 2019,它在内部是
v16.x

尝试删除与解决方案文件位于同一文件夹中的隐藏.vs目录。

这对我来说很有效


关闭visual studio并从项目中删除.sou文件

我遇到了相同的错误,我通过从解决方案中删除项目并重新添加来解决此问题。这是一个痛苦的过程,因为您必须重新添加项目间引用。

2个问题,是否所有项目都已设置为在configuration manager设置中生成(R单击解决方案->configuration manager)?您是否正在使用以前版本的.NET下编译的任何第三方lib或DLL文件?我所说的第三方是指任何未在您的解决方案中编译的LIB,即使它们来自您公司的其他项目?不久前,我遇到了一个同样的问题,结果证明,罪魁祸首是我们正在使用的一个静态库,它是在以前版本的VS.1下编译的。是的,所有项目都设置为生成。2.我不认为我有项目中没有构建的外部LIB。谢谢你的输入,我确实觉得这篇文章很有用,因此我投了赞成票。我很有信心我以前测试过这面旗子,但它不起作用。我曾在VS2015 Enterprise工作,现在我在Professional工作,这是我能想到的唯一区别,但这不重要。不知道为什么今天它起作用了。关于终端服务的问题,我经常远程登录到我的机器上,有时我会构建这个特定的解决方案,因此这可能是原因,但本页上建议的重新创建已删除文件夹的解决方案没有帮助。“我经常远程登录到我的机器上”是一个不切实际的解释。然而,听起来您似乎没有抓住要点,使用远程桌面的一个副作用是,重建整个解决方案是完全正常的。因为临时目录不同。每次重新连接时都可能发生这种情况,因为您将在主机上获得不同的会话ID。一个棘手的解决方法是启动命令提示符,重写TEMP环境变量并启动devenv.exe。危险,因为它可能会干扰其他人连接到机器。据我所知,TEMP dir仅在远程会话期间不同。因此,如果我曾经在远程会话期间使用过该项目,因为它正在为会话使用sub-dir,那么该项目将不断重建。但是,当我在本地计算机上时,TEMP dir是正确的,因此如果我从我的计算机启动项目,它不应该干扰TEMP中的子文件夹,但应该使用正确的子文件夹,但它不会。此外,手动创建\1文件夹也无济于事。当以管理员身份运行VS2013时,会发生类似的情况:%LOCALAPPDATA%\Temp\1文件夹被使用,并且项目总是被重建。没有海拔高度,一切正常。也透露了一些见解。奇怪的是,它对我有用。我会尽量找时间用这个。你是个救生员。我自己也遇到了这个问题。我的工具版本是15.0。将其更改为16.0非常有效。我的21个项目都必须这样做。我想这是在我升级到VisualStudio2019 v16.6.1时开始发生的。我想我跳过了v16.6My Tools版本是12.0,在我所有的项目中将它改为16.0,这简直让我大吃一惊。这是一个很好的建议,每天至少可以帮我节省20分钟
<Target Name="GenerateTargetFrameworkMonikerAttribute" />
Missing input file 'c:\users\USER\appdata\local\temp\2\.netframework...