Вас*_*чук 42 c# unit-testing mstest csproj .net-framework-version
我无法进行单元测试.
我有下一个错误:
您的项目未引用".NETFramework,Version = v4.6.2"框架.在项目文件的"TargetFrameworks"属性中添加对".NETFramework,Version = v4.6.2"的引用,然后重新运行NuGet还原.
在app.config:
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
</startup>
Run Code Online (Sandbox Code Playgroud)
在项目>属性>应用程序> TargetFramework(.NET Framework 4.6.2)中
我该如何解决?
小智 112
请进行后续步骤
Aji*_*ith 79
对我造成问题的文件是项目文件夹内的obj/project.assets.json。删除它并重建项目有效。
mou*_*ick 42
我遇到了类似的问题,但使用v4.7.2. 也就是说,我不断收到这样的构建日志消息:
error : Your project does not reference ".NETFramework,Version=v4.7.2" framework. Add a reference to ".NETFramework,Version=v4.7.2" in the "TargetFrameworks" property of your project file and then re-run NuGet restore.
尽管它看起来很相似,但上述建议的步骤都不适合我。每次构建后,我都会看到此消息。似乎没有任何帮助。
事实上,问题与此有关,由于迁移,我不得不将两个项目放在一个代码文件夹中。其中一个针对.Net Core,另一个针对.Net Framework,两者都引用了相同的 .Net Standard 库。显然,它们共享objCore 项目放置project.assets.json文件的同一个文件夹。实际上,正是这个文件干扰了框架项目,阻止了它的正常构建。似乎即使您执行了从 packages.config 迁移到 PackageReference...也被推荐为可能的解决方案之一。
您可以尝试通过将以下代码段放入您的框架项目文件来解决该问题:
<Project>
...
<PropertyGroup>
<BaseOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/bin</BaseOutputPath>
<BaseIntermediateOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/obj</BaseIntermediateOutputPath>
</PropertyGroup>
...
</Project>
Run Code Online (Sandbox Code Playgroud)
它立即对我有用,直到后来我才仔细阅读为什么我们需要它以及它为什么起作用。我意外地发现它在第2部分的迁移样品WPF应用程序到.NET核心3下确保在.NET Framework项目还是建造部分。BaseOutputPath和BaseIntermediateOutputPathmsbuild 变量可以在那里找到,不确定它们是否在任何地方都有很好的记录。
小智 31
在 VS2017 中打开 VS2015 项目时发生了这种情况。project.assets.json从obj文件夹中删除就行了。
无论如何,文件中缺少消息中的框架,但我没有将其添加到那里,而是将其删除。
Sha*_*han 18
git clean -xdf
Run Code Online (Sandbox Code Playgroud)
这应该够了吧。它在詹金斯也对我们有用。(我们只是使用首先运行 git clean 的修改脚本重播失败的构建)。
出于某种原因,在针对不同版本 .NET Framework 的分支之间切换时,MSBuild / Visual Studio 会感到困惑,所以我不得不在分支之间切换时定期执行 git cleans。
对于我的情况,删除.pkgrefgen/项目文件夹works下的文件夹,它包含一个引用旧.net框架的文件project.assets.json
小智 5
我对拉里萨投了赞成票,但我认为了解我是如何进入这个领域的可能会有所帮助。我在我的构建中添加了一个 .net 标准项目文件(我们针对很多平台),它产生了在 obj 文件夹中找到的碎片。当 android sanity build 出现时,它吐在 obj 文件夹上。我的解决方案是作为预构建步骤清除该文件夹。这是一个棘手的问题,因为它多年来一直工作得很好……针与草。
| 归档时间: |
|
| 查看次数: |
11991 次 |
| 最近记录: |