问题描述
我在Alpine-linux上关注https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity?view=aspnetcore-3.1&tabs=netcore-cli并使用dotnet cli。执行后
dotnet aspnet-codegenerator identity -dc WebApp1.Data.ApplicationDbContext --files "Account.Register;Account.Login;Account.logout;Account.RegisterConfirmation"
收到以下错误:
Building project ...
Finding the generator 'identity'...
Running the generator 'identity'...
The given key '"Account.Register' was not present in the dictionary.
at Microsoft.VisualStudio.Web.CodeGeneration.ActionInvoker.<BuildCommandLine>b__6_0()
at Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(String[] args)
at Microsoft.VisualStudio.Web.CodeGeneration.ActionInvoker.Execute(String[] args)
at Microsoft.VisualStudio.Web.CodeGeneration.CodeGenCommand.Execute(String[] args)
RunTime 00:00:04.45
Account.Login: No such file or directory
Account.logout: No such file or directory
Account.RegisterConfirmation": No such file or directory
然后我尝试
dotnet aspnet-codegenerator --help
难得
Usage: aspnet-codegenerator [arguments] [options]
Arguments:
generator Name of the generator. Check available generators below.
Options:
-p|--project Path to .csproj file in the project.
-n|--nuget-package-dir
-c|--configuration Configuration for the project (Possible values: Debug/ Release)
-tfm|--target-framework Target Framework to use. (Short folder name of the tfm. eg. net46)
-b|--build-base-path
--no-build
No code generators are available in this project.Add Microsoft.VisualStudio.Web.CodeGeneration.Design package to the project as a NuGet package reference.
RunTime 00:00:00.90
然后我跑了
dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design
成功运行。我确认通过查看我的WebApp1.csproj
文件,该文件确实包含以下行
<packagereference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.4" />
但是运行上面提到的错误命令会产生相同的输出。作为奖励,我跑了
dotnet aspnet-codegenerator identity --help
并获得以下输出
用法:aspnet-codegenerator [参数] [选项]
Arguments:
generator Name of the generator. Check available generators below.
Options:
-p|--project Path to .csproj file in the project.
-n|--nuget-package-dir
-c|--configuration Configuration for the project (Possible values: Debug/ Release)
-tfm|--target-framework Target Framework to use. (Short folder name of the tfm. eg. net46)
-b|--build-base-path
--no-build
Selected Code Generator: identity
No code generator found with the name 'identity'.
No code generators are available in this project.Add Microsoft.VisualStudio.Web.CodeGeneration.Design package to the project as a NuGet package reference.
RunTime 00:00:00.90
不幸的是,我的谷歌搜索技能无法脚手架,因为这个最受欢迎的框架的错误性和整体混乱以及寻求解决方案的地方比社区更好。首先将其评为最受欢迎的框架。
更新:
如第一条评论所述,dotnet cli(或我的shell)的表现很奇怪,双引号引起了,所以我尝试运行(这次单引号)
dotnet aspnet-codegenerator identity -dc WebApp1.Data.ApplicationDbContext --files 'Account.Register;Account.Login;Account.logout;Account.RegisterConfirmation'
Building project ...
Finding the generator 'identity'...
Running the generator 'identity'...
A file matching the name Account.Register.cs.cshtml was not found within any of the folders:
at Microsoft.VisualStudio.Web.CodeGeneration.ActionInvoker.<BuildCommandLine>b__6_0()
at Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(String[] args)
at Microsoft.VisualStudio.Web.CodeGeneration.ActionInvoker.Execute(String[] args)
at Microsoft.VisualStudio.Web.CodeGeneration.CodeGenCommand.Execute(String[] args)
RunTime 00:00:04.57
在运行完全不带引号的相同命令时,实际上会产生与双引号相同的错误。
奇怪的是,在某些运行中,行A file matching the name Account.Register.cs.cshtml was not found within any of the folders:
可能会出现在消息的末尾,指示正在搜索Account.Register.cs.cshtml文件的“文件夹”为null或空字符串,并且并非所有at...at...at...
无用的东西。
另一个更新:shell版本
上面讨论的所有命令都是使用plan9port的rc
shell运行的。当使用像ash
这样的posix shell运行时,用双引号运行与使用rc
的单引号产生的输出相同,而用单引号运行则消除了A file matching the name Account.Register.cs.cshtml was not found within any of the folders:
的消息。在所有不带引号的情况下运行,结果dotnet命令的输出与带单引号的结果相同,但是很明显posix shell将这些分号作为命令的结尾并尝试执行废话。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)