Ben*_*erg 5 c# f# .net-core paket
我有一个解决方案,其中主要是F#的.NET Framework项目,然后是C#的几个。我使用Paket而不是NuGet进行数据包管理。现在,我已经向该解决方案添加了我的第一个.NET Standard 2.0库。
当我运行构建脚本时,该脚本运行另一个构建脚本,该脚本调用devenv进行编译,但出现错误,指出该项目的obj \ project.assets.json文件丢失。它实际上是在编译时生成的,但前提是要编译其他项目之一。为什么然后将其报告为缺失有点奇怪。
如果我只运行内部脚本,那没有问题。如果我打开VS并进行编译,那没有问题。滑稽。
我不太确定这些东西是如何工作的-否。但是在谷歌搜索之后,似乎应该在使用devenv(Visual Studio)进行编译之前将该文件放置在此处,而不是使用devenv放置在此处。
我运行了Paket恢复。那并没有产生丢失的project.assets.json。
我用谷歌搜索了“恢复dotnet”。运行此命令时,在一些较旧的项目中出现此错误。
MSB4020: The value "" of the "Project" attribute in element <Import> is invalid.
Run Code Online (Sandbox Code Playgroud)
所以问题是,我现在该怎么办?
我终于发现,在 Paket 恢复后,我只能在新的 .NET Core 项目上运行此命令,从而避免解决方案中其他项目的错误。
dotnet restore TheProject
Run Code Online (Sandbox Code Playgroud)
然后在编译之前生成丢失的文件,并且构建脚本的其余部分运行完成。
PS(编辑):这对我来说不是一个完美的解决方案,因为我必须将该行添加到解决方案中每个 .NET Standard 和 .NET Core 项目的构建脚本中。必须这样维护脚本并不理想。因此,我将研究如何消除 MSB4020 错误。在那之前,这是一个很好的解决方法。
| 归档时间: |
|
| 查看次数: |
968 次 |
| 最近记录: |