Base solution for your next web application
Starts in:
01 DAYS
01 HRS
01 MIN
01 SEC
Open Closed

Rad tool : Word can not be null #8769


User avatar
0
willignicolas created

Hello,

Our version : ASP.NET CORE MVC & jQuery .NET Core 3.1 v8.2.1

We facing a problem with radtool (2.2.0.4) when regenerating an existing entity for add 2 new string property.

We have migrate to the 8.2.1 a few weeks ago and not use the rad tool since.

Thanks for your help, tell me if you need any other informations for the diagnostic.

Nicolas.

-> MachinesAppService.cs is being generated.
Warning: System.Exception: Word can not be null. exiting...
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.Lower(String word)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.ReplaceAlsoWithLowerCase(String template, String placeholder, String value)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.Replace(String template, EntityConfiguration entity, Property property, EnumDefinition enumDefinition, NavigationProperty navigationProperty)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.GenericFileContentGenerator.SetEnums()
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.GenericFileContentGenerator.GenerateAndGetContent()
   at AspNetZeroRadTool.GeneratorFromTemplate.FileGeneratorBasedOnEntity(TemplateInfo templateInfo, TemplatePathInfo templatePathInfo, String targetFolderRoot, EntityConfiguration entity)
-> IMachinesAppService.cs is being generated.
-> MachineConsts.cs is being generated.
-> CreateOrEditMachineDto.cs is being generated.
Warning: System.Exception: Word can not be null. exiting...
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.Lower(String word)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.ReplaceAlsoWithLowerCase(String template, String placeholder, String value)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.Replace(String template, EntityConfiguration entity, Property property, EnumDefinition enumDefinition, NavigationProperty navigationProperty)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.GenericFileContentGenerator.SetEnums()
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.GenericFileContentGenerator.GenerateAndGetContent()
   at AspNetZeroRadTool.GeneratorFromTemplate.FileGeneratorBasedOnEntity(TemplateInfo templateInfo, TemplatePathInfo templatePathInfo, String targetFolderRoot, EntityConfiguration entity)
-> MachineDto.cs is being generated.
Warning: System.Exception: Word can not be null. exiting...
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.Lower(String word)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.ReplaceAlsoWithLowerCase(String template, String placeholder, String value)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.Replace(String template, EntityConfiguration entity, Property property, EnumDefinition enumDefinition, NavigationProperty navigationProperty)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.GenericFileContentGenerator.SetEnums()
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.GenericFileContentGenerator.GenerateAndGetContent()
   at AspNetZeroRadTool.GeneratorFromTemplate.FileGeneratorBasedOnEntity(TemplateInfo templateInfo, TemplatePathInfo templatePathInfo, String targetFolderRoot, EntityConfiguration entity)
-> GetAllMachinesForExcelInput.cs is being generated.
-> GetAllForLookupTableInput.cs is being generated.
-> GetAllMachinesInput.cs is being generated.
-> GetMachineForViewDto.cs is being generated.
-> GetMachineForEditOutput.cs is being generated.
-> MachineShopfloorLookupTableDto.cs is being generated.
-> MachineAgentLookupTableDto.cs is being generated.
-> MachineDirectoryLookupTableDto.cs is being generated.
-> Machine.cs is being generated.
Warning: System.Exception: Word can not be null. exiting...
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.Lower(String word)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.ReplaceAlsoWithLowerCase(String template, String placeholder, String value)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.Replace(String template, EntityConfiguration entity, Property property, EnumDefinition enumDefinition, NavigationProperty navigationProperty)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.GenericFileContentGenerator.SetEnums()
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.GenericFileContentGenerator.GenerateAndGetContent()
   at AspNetZeroRadTool.GeneratorFromTemplate.FileGeneratorBasedOnEntity(TemplateInfo templateInfo, TemplatePathInfo templatePathInfo, String targetFolderRoot, EntityConfiguration entity)
-> MachinesExcelExporter.cs is being generated.
-> IMachinesExcelExporter.cs is being generated.
-> AppPermissions.cs is being modified.
-> AppAuthorizationProvider.cs is being modified.
-> GekkoDbContext.cs is being modified.
-> CustomDtoMapper.cs is being modified.
Running add-migration...
Could not execute because the specified command or file was not found.
Possible reasons for this include:
  * You misspelled a built-in dotnet command.
  * You intended to execute a .NET Core program, but dotnet-ef does not exist.
  * You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.
-> MachinesController.cs is being generated.
-> _CreateOrEditModal.cshtml is being generated.
Warning: System.Exception: Word can not be null. exiting...
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.Lower(String word)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.ReplaceAlsoWithLowerCase(String template, String placeholder, String value)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.Replace(String template, EntityConfiguration entity, Property property, EnumDefinition enumDefinition, NavigationProperty navigationProperty)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.GenericFileContentGenerator.SetEnums()
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.GenericFileContentGenerator.GenerateAndGetContent()
   at AspNetZeroRadTool.GeneratorFromTemplate.FileGeneratorBasedOnEntity(TemplateInfo templateInfo, TemplatePathInfo templatePathInfo, String targetFolderRoot, EntityConfiguration entity)
-> _CreateOrEditModal.js is being generated.
-> _CreateOrEditModal.min.js is being generated.
-> CreateOrEditMachineViewModel.cs is being generated.
-> Index.cshtml is being generated.
Warning: System.Exception: Word can not be null. exiting...
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.Lower(String word)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.ReplaceAlsoWithLowerCase(String template, String placeholder, String value)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.PlaceholderReplacer.Replace(String template, EntityConfiguration entity, Property property, EnumDefinition enumDefinition, NavigationProperty navigationProperty)
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.GenericFileContentGenerator.SetEnums()
   at AspNetZeroRadTool.FileWizards.FileGenerators.Generic.GenericFileContentGenerator.GenerateAndGetContent()
   at AspNetZeroRadTool.GeneratorFromTemplate.FileGeneratorBasedOnEntity(TemplateInfo templateInfo, TemplatePathInfo templatePathInfo, String targetFolderRoot, EntityConfiguration entity)
-> Index.js is being generated.
-> Index.min.js is being generated.
-> _MachineShopfloorLookupTableModal.cshtml is being generated.
-> _MachineAgentLookupTableModal.cshtml is being generated.
-> _MachineDirectoryLookupTableModal.cshtml is being generated.
-> _MachineShopfloorLookupTableModal.js is being generated.
-> _MachineAgentLookupTableModal.js is being generated.
-> _MachineDirectoryLookupTableModal.js is being generated.
-> MachineMachineShopfloorLookupTableViewModel.cs is being generated.
-> MachineMachineAgentLookupTableViewModel.cs is being generated.
-> MachineMachineDirectoryLookupTableViewModel.cs is being generated.
-> _ViewMachineModal.cshtml is being generated.
-> MachineViewModel.cs is being generated.
-> MachinesViewModel.cs is being generated.
-> AppNavigationProvider.cs is being modified.
-> AppPageNames.cs is being modified.
-> Gekko.xml is being modified.

Code generation is complete. Press ENTER to exit...


11 Answer(s)
  • User Avatar
    0
    musa.demir created

    Hi @willignicolas Can you please share [EntityNameSpace].Machines.json. It is located in AspNetZeroRadTool folder.

    You can share it here or send it to [email protected]

  • User Avatar
    0
    willignicolas created

    Yes of course =>

    {
      "IsRegenerate": true,
      "MenuPosition": "main",
      "RelativeNamespace": "Entity",
      "EntityName": "Machine",
      "EntityNamePlural": "Machines",
      "TableName": "GkoMachines",
      "PrimaryKeyType": "int",
      "BaseClass": "FullAuditedEntity",
      "EntityHistory": false,
      "AutoMigration": true,
      "UpdateDatabase": false,
      "CreateUserInterface": true,
      "CreateViewOnly": true,
      "CreateExcelExport": true,
      "PagePermission": {
        "Host": false,
        "Tenant": true
      },
      "Properties": [
        {
          "Name": "IsActive",
          "Type": "bool",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": true,
            "List": true,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "Name",
          "Type": "string",
          "MaxLength": 100,
          "MinLength": 1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": true,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": true,
            "List": true,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "Description",
          "Type": "string",
          "MaxLength": 300,
          "MinLength": 0,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": true,
            "List": true,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "CommunicationType",
          "Type": "eCommunicationType",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": true,
            "List": true,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "SerialPortName",
          "Type": "string",
          "MaxLength": 20,
          "MinLength": 0,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": true,
            "List": true,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "SerialBaudrate",
          "Type": "eRs232BaudRate",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": true,
            "List": true,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "SerialParity",
          "Type": "eRs232Parity",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": true,
            "List": true,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "SerialWordLength",
          "Type": "eRs232WordLength",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": true,
            "List": true,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "SerialStopBits",
          "Type": "eRs232StopBit",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": true,
            "List": true,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "SerialFlowControl",
          "Type": "eRs232FlowControl",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": true,
            "List": true,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "SerialRxTimeout",
          "Type": "int",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": true,
            "List": true,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "SerialTxTimeout",
          "Type": "int",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": true,
            "List": true,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "SerialTxDelay",
          "Type": "int",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": true,
            "List": true,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "RemoteFtpHost",
          "Type": "string",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": false,
            "List": false,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "RemoteFtpPort",
          "Type": "int",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": true,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": false,
            "List": false,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "RemoteFtpLogin",
          "Type": "string",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": false,
            "List": false,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "RemoteFtpPassword",
          "Type": "string",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": false,
            "List": false,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "RemoteFtpAuthenticationType",
          "Type": "eRemoteFtpAuthenticationType",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": false,
            "List": false,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "RemoteFtpProtocol",
          "Type": "eRemoteFtpProtocol",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": false,
            "List": false,
            "CreateOrUpdate": true
          }
        },
        {
          "Name": "RemoteSmbNetworkPath",
          "Type": "string",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": false,
            "List": false,
            "CreateOrUpdate": true
          }
        }
      ],
      "NavigationProperties": [
        {
          "Namespace": "Gekko.Entity",
          "ForeignEntityName": "Shopfloor",
          "IdType": "int",
          "IsNullable": false,
          "PropertyName": "ShopfloorId",
          "DisplayPropertyName": "Name",
          "DuplicationNumber": 0,
          "RelationType": "single",
          "ViewType": null
        },
        {
          "Namespace": "Gekko.Entity",
          "ForeignEntityName": "Agent",
          "IdType": "int",
          "IsNullable": true,
          "PropertyName": "AgentId",
          "DisplayPropertyName": "Name",
          "DuplicationNumber": 0,
          "RelationType": "single",
          "ViewType": null
        },
        {
          "Namespace": "Gekko.Entity",
          "ForeignEntityName": "Directory",
          "IdType": "int",
          "IsNullable": true,
          "PropertyName": "RootDirectoryId",
          "DisplayPropertyName": "Name",
          "DuplicationNumber": 0,
          "RelationType": "single",
          "ViewType": null
        }
      ],
      "EnumDefinitions": [
        {
          "Name": "eMachineCommunicationType",
          "Namespace": "Gekko.enums",
          "EnumProperties": [
            {
              "Name": "None",
              "Value": 0
            },
            {
              "Name": "RS232Standard",
              "Value": 1
            }
          ]
        },
        {
          "Name": "eRs232BaudRate",
          "Namespace": "Gekko.enums",
          "EnumProperties": [
            {
              "Name": "None",
              "Value": 0
            },
            {
              "Name": "Baud110",
              "Value": 1
            },
            {
              "Name": "Baud300",
              "Value": 2
            },
            {
              "Name": "Baud1200",
              "Value": 3
            },
            {
              "Name": "Baud2400",
              "Value": 4
            },
            {
              "Name": "Baud4800",
              "Value": 5
            },
            {
              "Name": "Baud9600",
              "Value": 6
            },
            {
              "Name": "Baud19200",
              "Value": 7
            },
            {
              "Name": "Baud38400",
              "Value": 8
            },
            {
              "Name": "Baud57600",
              "Value": 9
            },
            {
              "Name": "Baud115200",
              "Value": 10
            }
          ]
        },
        {
          "Name": "eRs232Parity",
          "Namespace": "Gekko.enums",
          "EnumProperties": [
            {
              "Name": "None",
              "Value": 0
            },
            {
              "Name": "Odd",
              "Value": 1
            },
            {
              "Name": "Even",
              "Value": 2
            }
          ]
        },
        {
          "Name": "eRs232WordLength",
          "Namespace": "Gekko.enums",
          "EnumProperties": [
            {
              "Name": "Seven",
              "Value": 0
            },
            {
              "Name": "Eight",
              "Value": 8
            }
          ]
        },
        {
          "Name": "eRs232StopBit",
          "Namespace": "Gekko.enums",
          "EnumProperties": [
            {
              "Name": "One",
              "Value": 0
            },
            {
              "Name": "Two",
              "Value": 1
            }
          ]
        },
        {
          "Name": "eRs232FlowControl",
          "Namespace": "Gekko.enums",
          "EnumProperties": [
            {
              "Name": "None",
              "Value": 0
            },
            {
              "Name": "Software",
              "Value": 1
            },
            {
              "Name": "Hardware",
              "Value": 2
            }
          ]
        },
        {
          "Name": "eRemoteFtpAuthenticationType",
          "Namespace": "Gekko.Enums",
          "EnumProperties": [
            {
              "Name": "None",
              "Value": 0
            },
            {
              "Name": "Standard",
              "Value": 1
            },
            {
              "Name": "Anonymous",
              "Value": 2
            }
          ]
        },
        {
          "Name": "eRemoteFtpProtocol",
          "Namespace": "Gekko.Enums",
          "EnumProperties": [
            {
              "Name": "None",
              "Value": 0
            },
            {
              "Name": "Ftp",
              "Value": 1
            }
          ]
        }
      ]
    }
    
  • User Avatar
    0
    musa.demir created

    Your table has property typed eCommunicationType

    {
          "Name": "CommunicationType",
    -      "Type": "eCommunicationType",
          "MaxLength": -1,
          "MinLength": -1,
          "Range": {
            "IsRangeSet": false,
            "MinimumValue": 0,
            "MaximumValue": 0
          },
          "Required": false,
          "Nullable": false,
          "Regex": "",
          "UserInterface": {
            "AdvancedFilter": true,
            "List": true,
            "CreateOrUpdate": true
          }
        },
    

    But your enum name is eMachineCommunicationType

     "EnumDefinitions": [
        {
    -      "Name": "eMachineCommunicationType",
          "Namespace": "Gekko.enums",
          "EnumProperties": [
            {
              "Name": "None",
              "Value": 0
            },
            {
              "Name": "RS232Standard",
              "Value": 1
            }
          ]
        },
    

    If you change it as seen below it works as expected

    -   "Type": "eCommunicationType",
    +  "Type": "eMachineCommunicationType",
    

    Or change your enum name.

    Is this json generated by Radtool, did you change it manually?

  • User Avatar
    1
    willignicolas created

    Yes it works well now thank you very much.

    Sorry to have bothered you with an internal problem. It is indeed a merge error and not at all a concern of RadTool.

    However, I have systematically had the following error for a while when launching the add-migration

    Running add-migration...
    Could not execute because the specified command or file was not found.
    Possible reasons for this include:
      * You misspelled a built-in dotnet command.
      * You intended to execute a .NET Core program, but dotnet-ef does not exist.
      * You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.
    

    It is not blocking at all since the add-migration command made by after works well.

    Thank you again for your availability and your always precious help.

    Nicolas

  • User Avatar
    0
    musa.demir created

    Thank you again for your availability and your always precious help.

    You are welcome, its our job. :)

    However, I have systematically had the following error for a while when launching the add-migration

    Can you please open cmd prompt and try tor run dotnet ef

  • User Avatar
    0
    willignicolas created

    I make a regeneration of an entity and yes a let add-migration checked in RadTool.

    Then I have this error on RadTool commandline output result.

    After that I make successfully a add-migration in visual studio in Package manager console on the Entityframeworkcore project.

  • User Avatar
    0
    willignicolas created

    Can you please open cmd prompt in *.EntityFrameworkCore project's folder and try tor run dotnet ef

    Yes same error here.

  • User Avatar
    0
    willignicolas created
    PM> dotnet ef
    dotnet : Could not execute because the specified command or file was not found.
    At line:1 char:1
    + dotnet ef
    + ~~~~~~~~~
        + CategoryInfo          : NotSpecified: (Could not execu... was not found.:String) [], RemoteException
        + FullyQualifiedErrorId : NativeCommandError
     
    Possible reasons for this include:
      * You misspelled a built-in dotnet command.
      * You intended to execute a .NET Core program, but dotnet-ef does not exist.
      * You intended to r
    un a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.
    
    
  • User Avatar
    0
    musa.demir created

    Can you please check that: https://stackoverflow.com/a/56876020

  • User Avatar
    0
    willignicolas created

    Yes after installed the dotnet ef tool and modify the PATH it's works now.

    Thanks for your help.

    Nicolas

  • User Avatar
    0
    musa.demir created

    You are welcome