3 回答
TA贡献1856条经验 获得超11个赞
project.assets.json通过自定义 Visual Studio Build Event自动删除非核心项目来解决此问题。
更新(2020 年 6 月 13 日) 事实证明,删除会project.assets.json导致显示波浪线,因为 Intellisense 需要文件中的引用。因此,更好的解决方法是使用Pre-build事件仅在项目不是.Net Core 时删除文件。
这是$(TargetFramework) ---> "netcoreapp3.1"在我的电脑上识别的。您安装的框架可能会显示不同的标识符,因此相应地更新脚本(请参阅第2 行生成的构建输出窗口中的文本ECHO)。注意:这可以是某些.Net Framework版本上的空字符串,这应该不是问题。我们也只比较前 7 个字符来忽略版本,以避免在版本更改时/当版本更改时必须更新脚本。
SET _tgt=$(TargetFramework)
ECHO %_tgt%
IF NOT "%_tgt:~0,7%" == "netcore" (
cd $(ProjectDir)\obj
DEL project.assets.json
)
====更新 (6/13/2020) 到此结束。原始答案保留在下面以提供上下文。====
我们将问题缩小到一个文件:project.assets.json在{Your project}/obj文件夹中。它是由.Net Core项目创建的文件,但在切换到导致 OP 提到的问题的.Net Framework项目后,Visual Studio 不会将其删除。
解决的办法是删除此文件,但,而不必手动删除它每次我们需要转换项目,我们创建了一个生成后在Visual Studio事件将其删除后,每一次成功的核心版本(你的核心项目不会建如果您在构建之前运行脚本,显然)。您可以自定义脚本以删除您认为有问题的任何文件/文件夹,但我们的问题仅限于该单个文件。
cd $(ProjectDir)\obj
del project.assets.json
注意:如果有问题的工件已经存在,您将需要手动删除一次,因为构建后事件只会在成功构建后运行。
- 3 回答
- 0 关注
- 298 浏览
添加回答
举报