首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在构建System.Void 5期间,未定义或导入预定义类型“ASP.NET”

在构建System.Void 5期间,未定义或导入预定义类型“ASP.NET”
EN

Stack Overflow用户
提问于 2016-01-05 08:20:59
回答 13查看 48K关注 0票数 20

当我试图在中构建该项目时,会出现以下错误:

代码语言:javascript
运行
复制
…\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:

代码语言:javascript
运行
复制
"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

代码语言:javascript
运行
复制
"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。

代码语言:javascript
运行
复制
$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的帮助!

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2016-01-07 02:48:02

我只是在更新了"PreBuild.ps1“脚本中的代码以恢复web项目的"project.json”文件之后,才复制了这个问题。

原始守则(成功建造):

代码语言:javascript
运行
复制
Get-ChildItem -Path $PSScriptRoot\src -Filter project.json -Recurse | ForEach-Object { & dnu restore $_.FullName 2>1 }

更新的代码(生成失败:未定义或导入预定义类型'System.Void‘):

代码语言:javascript
运行
复制
Get-ChildItem -Path $PSScriptRoot\src\WebProjectName -Filter project.json -Recurse | ForEach-Object { & dnu restore $_.FullName 2>1 }

因此,您需要检查PreBuild.ps1脚本和PowerShell步骤的构建日志,以检查Web和Library项目的project.json文件是否都已恢复。

票数 2
EN

Stack Overflow用户

发布于 2022-02-07 16:08:51

重新启动visual,它将解决问题。对我来说是这样。

票数 19
EN

Stack Overflow用户

发布于 2018-04-08 06:05:04

在我自己的问题上,我重建了整个解决方案,错误就消失了。

编辑:

这很可能是因为NuGet包恢复了。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34607052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档