【发布时间】:2019-03-08 01:00:15
【问题描述】:
我在一个文件夹中创建了一个 .NET 4.0 项目程序集,还在同一文件夹中创建了一个 .NET Standard 项目文件(以共享相同的 .cs 文件)。在我添加 Directory.Build.props 文件之前,它可以完美运行,此时我仅在 .NET 4.0 项目中收到此错误:
您的项目未引用“.NETFramework,Version=v4.0” 框架。在中添加对“.NETFramework,Version=v4.0”的引用 项目文件的“TargetFrameworks”属性,然后重新运行 NuGet 恢复。
我尝试了一个只有项目元素的文件:
<?xml version="1.0" encoding="utf-8"?>
<Project>
</Project>
还有
<Project Condition='$(MSBuildProjectName.Contains("-Standard"))'>
我得到同样的错误。
我已经知道一种解决方案是创建一个共享项目并以这种方式包含文件,或者添加链接文件,但我想看看我是否可以将 Directory.Build.props 仅用于同一文件夹中的 .Net Standard 项目进行更改一些 NET Standard-ONLY 配置。如果不是,我将不得不将项目拆分到单独的文件夹中(这只是一个实验,看看是否可行)。
Net Standard 项目使用Directory.Build.props 的原因是因为我无法使用.csproj 文件更改输出目录而不会出错。
【问题讨论】: