当我试图在中构建该项目时,会出现以下错误:
…\Frontend\Startup.cs(65,49): Error CS0518: Predefined type 'System.Void' is not defined or imported
…\Frontend\Startup.cs(65,49): DNXCore,Version=v5.0 error CS0518: Predefined type 'System.Void' is not defined or imported [C:\a\1\s\Frontend\src\Frontend\Frontend.xproj]
这个错误似乎发生在我引用另一个库(包类库)的地方。
我在这里谈过:Easy way to build and deploy (to Azure) ASP.NET 5 in Visual Studio Team Services,但毕竟没有答案,所以我仍然不能建立它.
网络project.json:
"dependencies": {
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.UserSecrets": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final",
"Web.Common": "1.0.0-*"
},
"frameworks": {
"dnx451": { },
"dnxcore50": { }
},
库project.json
"frameworks": {
"dnx451": { },
"dnxcore50": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
},
"dependencies": {
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final"
}
更新(问题和解决方案):
问题在于,我的库引用不在同一个文件夹中,而且脚本默认不在那里运行dnu-还原,所以我不得不在那里进行一个级别的升级,并开始递归地查找project.json。
$SourceRoot = Split-Path -Path $PSScriptRoot -Parent
# run DNU restore on all project.json files in the src folder including 2>1 to redirect stderr to stdout for badly behaved tools
Get-ChildItem -Path $SourceRoot -Filter project.json -Recurse | ForEach-Object { & dnu restore $_.FullName 2>1 }
谢谢埃迪- MSFT的帮助!
发布于 2016-01-07 02:48:02
我只是在更新了"PreBuild.ps1“脚本中的代码以恢复web项目的"project.json”文件之后,才复制了这个问题。
原始守则(成功建造):
Get-ChildItem -Path $PSScriptRoot\src -Filter project.json -Recurse | ForEach-Object { & dnu restore $_.FullName 2>1 }
更新的代码(生成失败:未定义或导入预定义类型'System.Void‘):
Get-ChildItem -Path $PSScriptRoot\src\WebProjectName -Filter project.json -Recurse | ForEach-Object { & dnu restore $_.FullName 2>1 }
因此,您需要检查PreBuild.ps1脚本和PowerShell步骤的构建日志,以检查Web和Library项目的project.json文件是否都已恢复。
发布于 2022-02-07 16:08:51
重新启动visual,它将解决问题。对我来说是这样。
发布于 2018-04-08 06:05:04
在我自己的问题上,我重建了整个解决方案,错误就消失了。
编辑:
这很可能是因为NuGet包恢复了。
https://stackoverflow.com/questions/34607052
复制相似问题