我使用yo aspnet
使用Yeoman Generator创建了一个Asp.Net核心项目,但该项目无法运行。
MSBUILD:错误MSB1003:指定项目或解决方案文件。该 当前工作目录不包含项目或解决方案文件。
答案 0 :(得分:6)
请做以下事情:
npm uninstall -g generator-aspnet
npm install -g yo bower # (optional)
npm install -g generator-aspnet@0.2.6
检查您是否安装了最新版本的SDK,而不是LTS版本。
谢谢Steve Smith,Scott Addie,Rick Anderson,Noel Rice和Shayne Boyer的亲切教程。
教程链接:https://docs.microsoft.com/en-us/aspnet/core/client-side/yeoman
答案 1 :(得分:3)
我遇到了同样的问题。原来,Yeoman生成器确实生成project.json
作为构建配置文件which was replaced by .csproj file with the release of 1.0.0-preview3-004056。
显然,你的dotnet版本是preview3或更高版本,这就是为什么MSBUILD会查找.csproj
文件而无法找到它。
要从project.json
迁移到.csproj
,您可以运行:
dotnet migrate
然后你可以运行:
dotnet restore
dotnet build
dotnet run
为我做好了。
答案 2 :(得分:2)
我遇到了同样的问题,在按照Sender发布的链接后阅读它确实是因为从project.json转移到Preview3中引入的XML项目文件,所以如果你安装了预览3或更高版本你可能会看到这个错误。 dotnet restore 默认采用最新版本。
要查看已安装的dotnet核心版本,请查看 \ Program Files \ dotnet \ sdk
实际上有一个非常简单的解决方法(参见页面底部here),它允许您并排运行多个版本的核心。因此,在上面的父文件夹中,生成的项目包含一个名为global.json的文件,其中包含以下内容:
{
"projects": [ "your-project-name" ],
"sdk": {
"version": "1.0.0-preview2-003131"
}
}
注意:
答案 3 :(得分:0)
问题是最新的Yeoman生成需要更新版本的.NetCore,因为.NetCore已停止使用project.json,现在只支持.csproj和MsBuild。我在mac上遇到了这个问题并安装了最新版本的.NetCore,它对我来说很好。您可以从link获取最新的SKD。我安装了 macOS(x64)PKG 。