Меню

При запуске выбранного генератора кода произошла ошибка не удалось выполнить сборку проекта

I’m creating a new view off of a model.
The error message I am getting is

Error
There was an error running the selected code generator:
‘Access to the path
‘C:UsersXXXXXXXAppDataLocalTempSOMEGUIDEntityFramework.dll’ is denied’.

I am running VS 2013 as administrator.

I looked at Is MvcScaffolding compatible with VS 2013 RC by command line? but this didn’t seem to resolve the issue.

VS2013
C#5
MVC5
Brand new project started in VS 2013.

Community's user avatar

asked Nov 12, 2013 at 4:25

Brian Webb's user avatar

4

VS2013 Error: There was an error running the selected code generator:
‘ A configuration for type ‘SolutionName.Model.SalesOrder’ has already
been added …’

I had this problem while working through a Pluralsight Course «Parent-Child Data with EF, MVC, Knockout, Ajax, and Validation». I was trying to add a New Scaffolded Item using the template MVC 5 Controller with views, using Entity Framework.

The Data Context class I was using including an override of the OnModelCreating method. The override was required to add some explicit database column configurations where the EF defaults were not adequate. This override was simple, worked and no bugs, but (as noted above) it did interfere with the Controller scaffolding code generation.

Solution that worked for me:

1 — I removed (commented out) my OnModelCreating override and the scaffolding template completed with no error messages — my controller code was generated as expected.

2 — However, trying to build the project choked because ‘The model had changed’. Since my controller code was was now properly generated, I restored (un-commented) the OnModelCreating override and the project built and ran successfully.

Liam's user avatar

Liam

26.7k27 gold badges120 silver badges183 bronze badges

answered Aug 16, 2014 at 22:31

Bill B's user avatar

Bill BBill B

3513 silver badges4 bronze badges

3

Problem was with a corrupted web.config and package directory.

I created the new project, and copied my code files over to the new working project, I later went back and ran diffs on the config files and a folder diff on the project itself.

The problem was that the updates had highly junked up my config file with lots of update artifacts that I ended up clearing out.

The second problem was that the old project also kept hanging onto older DLLs that were supposed to be wiped with the application of the Nuget package. So I wiped the obj and bin folders, then the package folder. After that was done, I was able to get the older project repaired and building cleanly.

I have not looked into why the config file or the package folder was so borked, but I’m assuming it is one of two things.

  1. Possibly the nuget package has a flaw
  2. The TFS source control blocked nuget from properly updating the various dependencies.

Since then, before applying any updates, I check out everything. However, since I have not updated EF in a while, I no evidence that this has resolved my EF or scaffolding issue.

Raphaël Colantonio's user avatar

answered Jan 22, 2014 at 1:55

Brian Webb's user avatar

Brian WebbBrian Webb

1,1361 gold badge14 silver badges29 bronze badges

2

I was able to resolve this issue and have a little better understanding of what was going on. The best part is that I am able to recreate the issue and fix it to be sure of my explanation here.
The resolution was to install exactly same version of Entity Framework for both Data Access Layer project and the Web Project.

My data access layer had Entity Framework v6.0.2 installed using NuGet, the web project did not have Entity Framework installed. When trying to create a Web API Controller with Entity Framework template Entity Framework gets installed automatically but its one of the older version 6.0.0. I was surprised to see two version of Entity Framework installed, newer on my Data Layer project and older on my Web Project. Once, I removed the older version and installed the newer version on Web Project the problem went away.

answered Mar 7, 2014 at 20:09

isingh's user avatar

isinghisingh

1411 silver badge5 bronze badges

2

I tried every answer on every website I found, and nothing worked… until this. Posting late in case anyone like me comes along and has the same frustrating experience as I have.

My issue was similar to many here, generic error message when trying to use scaffolding to try and add a new controller (ef6, webapi). I initially was able to use scaffolding for about 15 controllers, after that it just stopped working one day.

Final Solution:

  1. Open your working folder on your hard drive for your solution.
  2. Delete everything inside the BIN folder
  3. Delete everything inside the OBJ folder
  4. Clean Solution, Rebuild Solution, Add Controller via scaffolding

Voila! (for me)

answered May 13, 2015 at 14:46

erikrunia's user avatar

erikruniaerikrunia

2,3591 gold badge15 silver badges21 bronze badges

1

I checked all my projects and each had the same version of Entity Framework. In my case, the problem was that one of my projects was targeting .Net 4.0 while the rest were .Net 4.5.

Solution:

  1. For each project in solution Project->Properties->Application: Set Target Framework to .Net 4.5 (or whatever you need).
  2. Tools->Manage NuGet Package for Solution. Find Installed “Entity Framework”. And click Manage. Uncheck all projects (note the projects that require EF). Now, Re-Manage EF and check that projects that you need.
  3. Clean and Rebuild Solution.

Jess's user avatar

Jess

23k19 gold badges121 silver badges140 bronze badges

answered May 1, 2014 at 12:52

RitchieD's user avatar

RitchieDRitchieD

1,81121 silver badges21 bronze badges

0

This is typically caused by an invalid Web.config file. I had the same problem and it turned out I inadvertently changed the HTML comment block <!-- --> to a server side comment block @* *@ (through a Replace All action).

And in case you are developing a WinForms application, try to look to App.config.

answered May 25, 2014 at 11:17

Moslem Ben Dhaou's user avatar

Moslem Ben DhaouMoslem Ben Dhaou

6,8477 gold badges62 silver badges92 bronze badges

2

I have the exact same problem.
First encountered this while following along the Pluralsight Course «Parent-Child Data with EF, MVC, Knockout, Ajax, and Validation».

I am using MVC 5, EF 6.1.1 and framework 4.5.2.

Even after updating my VS2013 to update 4, this error still persisted.

Was able to circumvent this annoying problem by changing the DbSet to IDbSet inside the DbContext class.
Answer was originally from here.

//From
public DbSet SalesOrders { get; set; }

//To
public IDbSet SalesOrders { get; set; }

Community's user avatar

answered Nov 14, 2014 at 9:33

scyu's user avatar

scyuscyu

514 bronze badges

What worked for me to resolve this: Close Solution, And open the project by clicking project file and not the solution file, add your controller, and bobs your uncle

answered Mar 6, 2014 at 9:52

Gerrie Pretorius's user avatar

Gerrie PretoriusGerrie Pretorius

3,1312 gold badges30 silver badges34 bronze badges

0

None of the above helped for me.

I found that the cause of my problem was overriding OnModelCreating in my context class that the scaffold item was dependent on. By commenting out this method, then the scaffolding works.

I do wish Microsoft would release less buggy code.

answered Aug 12, 2014 at 0:56

Jim Taliadoros's user avatar

2

There was an error running the selected code generator:
‘Failed to upgrade dependency information for the project. Please restore the project and try again.’

Steps:

  1. Go to your project and update all NuGet packages to latest version.
  2. Build your application till Build success.
  3. Close solution and reopen same.
  4. And try to add file like controller, class, etc.

error picture

TylerH's user avatar

TylerH

20.4k62 gold badges75 silver badges97 bronze badges

answered Aug 2, 2019 at 8:06

Manjunath K's user avatar

0

I have seen this error with a new MVC5 project when referencing a model from a different project. Checking the path, EntityFramework.dll did exist. It was read-only though. Process monitor showed that there was an error attempting to delete the file. Setting the EntityFramework.dll in my packages folder (copy stored in source control) to writeable got around this error but brought up another one saying that it couldn’t load the EntityFramework assembly because it didn’t match the one referenced. My model class was defined in a different project that was using an older version of the entity framework. The MVC5 project was referencing EF 6 while the model was from a project references EF 4.4. Upgrading to EF 6 in the model’s project fixed it for me.

answered Nov 21, 2013 at 9:15

Lindsey's user avatar

LindseyLindsey

4514 silver badges3 bronze badges

For us it has something to do with build configurations, where we have a Debug|x64 build configuration that we had recently switched to using, which in retrospect seemed to be when the scaffolding stopped working.

(I suspect that there are at least 10 different things that can cause this, as evidenced by the various answers on SO that some people find to work for them—but which don’t work for others, so I’m not suggesting my solution will work for everyone).

What worked for us (using VS 2013 Express for Web on 64 bit Windows 7):

It (scaffolding) was NOT working in Debug|x64 Build configuration. But doing the following (and it seems like every step is necessary—couldn’t figure out how to do it in a more streamlined way) seems to work for us.

  1. First, switch to Debug|x86—use Solution (right-click) Configuration Manager for all the projects in your solution. (Debug|Any CPU may also work).
  2. Clean your solution.
  3. Shut down Visual Studio. (cannot get it to work if I skip this).
  4. Open Visual Studio.
  5. Open your solution.
  6. Build your solution.
  7. Now try adding scaffolding items; for us, it worked at this point, we no longer got the error message saying something about «There was an error running the selected code generator».

If you need to switch back to a scaffolding-non-working build configuration, you can do so, after you’ve scaffolded everything you need to for the moment. We switched back to our Debug|x64 after scaffolding what we needed to.

answered Mar 7, 2015 at 23:00

DWright's user avatar

DWrightDWright

9,2284 gold badges36 silver badges53 bronze badges

0

I had this problem when trying to add an Api Controller to my MVC ASP.NET web app for a completely different reason than the other answers given. I had accidentally included a StringLength attribute with an IndexAttribute declaration for an integer property due to a copy and paste operation:

[Index]
[IndexAttribute("NumTrainingPasses", 0), StringLength(50)]
public int NumTrainingPasses { get; set; }

Once I got rid of the IndexAttribute declaration I was able to add an Api Controller for the Model that contained the offending property (NumTrainingPasses).

To help the search engines, here is the full error message I got before I fixed the problem:

There was an error running the selected code generator:

Unable to retrieve metadata for ‘Owner.Models.MainRecord’. The property
‘NumTrainingPasses’ is not a String or Byte array. Length can only be
configured for String or Byte array properties.

answered Jul 15, 2015 at 20:10

Robert Oschler's user avatar

Robert OschlerRobert Oschler

14.1k18 gold badges90 silver badges224 bronze badges

This is usually related to a format of your Web.config

Rebuild solution and lookup under Errors, tab Messages.
If you have any format problems with a web.config you will see it there.
Fix it and try again.

Example: I had connectionstring instead of connectionString

bummi's user avatar

bummi

27k13 gold badges62 silver badges101 bronze badges

answered Dec 12, 2016 at 20:00

Marko's user avatar

MarkoMarko

1,8641 gold badge21 silver badges36 bronze badges

My issue was similar to many experience here, generic error message when trying to add a new view or use scaffolding to add a new controller.

I found out that MVC 5 and EF 6 modelbuilder are not good friends:

My Solution:

  1. Comment out modelBuilder in your Context class.
  2. Clean Solution, Rebuild Solution.
  3. Add view and Controller via scaffolding
  4. Uncomment modelbuilder.

TylerH's user avatar

TylerH

20.4k62 gold badges75 silver badges97 bronze badges

answered May 15, 2016 at 10:22

freddy's user avatar

In case it helps anyone, I renamed the namespace that the model resided in, then rebuilt the project, then renamed it back again, and rebuilt, and then it worked.

answered Feb 3, 2014 at 14:45

Adam Marshall's user avatar

Adam MarshallAdam Marshall

2,8718 gold badges40 silver badges78 bronze badges

I often run into this error working with MVC5 and EF when I create the models and context in a separate project (My data access layer) and I forget to add the context connection string to the MVC project’s Web.Config.

answered Dec 6, 2014 at 6:53

John S's user avatar

John SJohn S

7,76121 gold badges74 silver badges139 bronze badges

I am also having this issue with MSVS2013 Update 4 and EF 6.0
The message I was getting was:

    there was an error running the selected code generator.
A configuration for type XXXX has already been added ...[]

I have a model with around 10 classes. I scaffolded elements at the beginning of the project with no problems.

After some days adding functionality, I tried to scaffold another class from the model, but an error was keeping me from doing it.

I have tried to update MSVS from update 2 to update 4, comment out my OnModelCreating method and other ideas proposed with no luck.

As a temporary way to continue with the project, I created a different asp.net project, pasted there my model classes (I am using fluent api, so there is little annotation on them) and successfully created my controller and views.

After that, I pasted back the created classes to the original project and corrected some mistakes (mainly dbset names).

It seems to be working, although I suppose that I will still find mistakes related to relationships between classes (due to the lack of fluent configuration when created).

I hope this helps to other users.

answered Feb 25, 2015 at 12:05

jmcm's user avatar

jmcmjmcm

235 bronze badges

This happened to me when I attempted to create a new scaffold outside of the top level folder for a given Area.

  • MyArea
    | — File.cs (tried to create a new scaffold here. Failure.)

I simply re-selected my area and the problem went away:

  • AyArea (Add => new scaffold item)

Note that after scaffold generation you are taken to a place where you will not be able to create a new scaffold without re-selecting the area first (in VS 2013 at least).

answered Apr 20, 2015 at 15:51

P.Brian.Mackey's user avatar

P.Brian.MackeyP.Brian.Mackey

42.6k65 gold badges231 silver badges344 bronze badges

  • vs2013 update 4
  • ef 5.0.0
  • ibm db2connector 10.5 fp 5

change the web.config file as such:
removed the provider/s from ef tag:

<entityFramework>
</entityFramework>

added connection string tags under config sections:

</configSections>
<connectionStrings>
<add name=".." connectionString="..." providerName="System.Data.EntityClient" />
</connectionStrings>

answered Jun 28, 2015 at 4:02

gummylick's user avatar

I had the same problem when in my MVC app EF reference property (in Properties window) «Specific version» was marked as False and in my other project (containing DBContext and models) which was refrenced from MVC app that EF reference property was marked as True. When I marked it as False everything was fine.

answered Nov 15, 2015 at 11:02

Iwona Kubowicz's user avatar

In my case, I was trying to scaffold Identity elements and none of the above worked. The solution was simply to open Visual Studio with Administrator privileges.

TylerH's user avatar

TylerH

20.4k62 gold badges75 silver badges97 bronze badges

answered Jan 8, 2020 at 19:01

Hugo Nava Kopp's user avatar

Hugo Nava KoppHugo Nava Kopp

2,7872 gold badges24 silver badges41 bronze badges

1

Rebuild the solution works for me. before rebuild, I find references number of my ‘ApplicationDbContext’ is zero, that is impossible, so rebuild solution, everything is OK now.

answered Sep 10, 2014 at 10:08

simon9k's user avatar

1

I had this issue in VS 2017. I had Platform target (in project properties>Build>General) set to «x64». Scaffolding started working after changing it to «Any CPU».

answered Mar 27, 2019 at 9:51

billw's user avatar

billwbillw

1181 silver badge8 bronze badges

It may be due to differences in the versions of nuget packages. See if you have this by going to dependencies->nuget packages folder in your solution. Try installing all of them of a single version and restart the visual studio after cleaning the componentmodelcache folder as mentioned above. This should the get the work done for you.

answered May 30, 2020 at 9:57

shashi kumar's user avatar

1

I’m creating a new view off of a model.
The error message I am getting is

Error
There was an error running the selected code generator:
‘Access to the path
‘C:UsersXXXXXXXAppDataLocalTempSOMEGUIDEntityFramework.dll’ is denied’.

I am running VS 2013 as administrator.

I looked at Is MvcScaffolding compatible with VS 2013 RC by command line? but this didn’t seem to resolve the issue.

VS2013
C#5
MVC5
Brand new project started in VS 2013.

Community's user avatar

asked Nov 12, 2013 at 4:25

Brian Webb's user avatar

4

VS2013 Error: There was an error running the selected code generator:
‘ A configuration for type ‘SolutionName.Model.SalesOrder’ has already
been added …’

I had this problem while working through a Pluralsight Course «Parent-Child Data with EF, MVC, Knockout, Ajax, and Validation». I was trying to add a New Scaffolded Item using the template MVC 5 Controller with views, using Entity Framework.

The Data Context class I was using including an override of the OnModelCreating method. The override was required to add some explicit database column configurations where the EF defaults were not adequate. This override was simple, worked and no bugs, but (as noted above) it did interfere with the Controller scaffolding code generation.

Solution that worked for me:

1 — I removed (commented out) my OnModelCreating override and the scaffolding template completed with no error messages — my controller code was generated as expected.

2 — However, trying to build the project choked because ‘The model had changed’. Since my controller code was was now properly generated, I restored (un-commented) the OnModelCreating override and the project built and ran successfully.

Liam's user avatar

Liam

26.7k27 gold badges120 silver badges183 bronze badges

answered Aug 16, 2014 at 22:31

Bill B's user avatar

Bill BBill B

3513 silver badges4 bronze badges

3

Problem was with a corrupted web.config and package directory.

I created the new project, and copied my code files over to the new working project, I later went back and ran diffs on the config files and a folder diff on the project itself.

The problem was that the updates had highly junked up my config file with lots of update artifacts that I ended up clearing out.

The second problem was that the old project also kept hanging onto older DLLs that were supposed to be wiped with the application of the Nuget package. So I wiped the obj and bin folders, then the package folder. After that was done, I was able to get the older project repaired and building cleanly.

I have not looked into why the config file or the package folder was so borked, but I’m assuming it is one of two things.

  1. Possibly the nuget package has a flaw
  2. The TFS source control blocked nuget from properly updating the various dependencies.

Since then, before applying any updates, I check out everything. However, since I have not updated EF in a while, I no evidence that this has resolved my EF or scaffolding issue.

Raphaël Colantonio's user avatar

answered Jan 22, 2014 at 1:55

Brian Webb's user avatar

Brian WebbBrian Webb

1,1361 gold badge14 silver badges29 bronze badges

2

I was able to resolve this issue and have a little better understanding of what was going on. The best part is that I am able to recreate the issue and fix it to be sure of my explanation here.
The resolution was to install exactly same version of Entity Framework for both Data Access Layer project and the Web Project.

My data access layer had Entity Framework v6.0.2 installed using NuGet, the web project did not have Entity Framework installed. When trying to create a Web API Controller with Entity Framework template Entity Framework gets installed automatically but its one of the older version 6.0.0. I was surprised to see two version of Entity Framework installed, newer on my Data Layer project and older on my Web Project. Once, I removed the older version and installed the newer version on Web Project the problem went away.

answered Mar 7, 2014 at 20:09

isingh's user avatar

isinghisingh

1411 silver badge5 bronze badges

2

I tried every answer on every website I found, and nothing worked… until this. Posting late in case anyone like me comes along and has the same frustrating experience as I have.

My issue was similar to many here, generic error message when trying to use scaffolding to try and add a new controller (ef6, webapi). I initially was able to use scaffolding for about 15 controllers, after that it just stopped working one day.

Final Solution:

  1. Open your working folder on your hard drive for your solution.
  2. Delete everything inside the BIN folder
  3. Delete everything inside the OBJ folder
  4. Clean Solution, Rebuild Solution, Add Controller via scaffolding

Voila! (for me)

answered May 13, 2015 at 14:46

erikrunia's user avatar

erikruniaerikrunia

2,3591 gold badge15 silver badges21 bronze badges

1

I checked all my projects and each had the same version of Entity Framework. In my case, the problem was that one of my projects was targeting .Net 4.0 while the rest were .Net 4.5.

Solution:

  1. For each project in solution Project->Properties->Application: Set Target Framework to .Net 4.5 (or whatever you need).
  2. Tools->Manage NuGet Package for Solution. Find Installed “Entity Framework”. And click Manage. Uncheck all projects (note the projects that require EF). Now, Re-Manage EF and check that projects that you need.
  3. Clean and Rebuild Solution.

Jess's user avatar

Jess

23k19 gold badges121 silver badges140 bronze badges

answered May 1, 2014 at 12:52

RitchieD's user avatar

RitchieDRitchieD

1,81121 silver badges21 bronze badges

0

This is typically caused by an invalid Web.config file. I had the same problem and it turned out I inadvertently changed the HTML comment block <!-- --> to a server side comment block @* *@ (through a Replace All action).

And in case you are developing a WinForms application, try to look to App.config.

answered May 25, 2014 at 11:17

Moslem Ben Dhaou's user avatar

Moslem Ben DhaouMoslem Ben Dhaou

6,8477 gold badges62 silver badges92 bronze badges

2

I have the exact same problem.
First encountered this while following along the Pluralsight Course «Parent-Child Data with EF, MVC, Knockout, Ajax, and Validation».

I am using MVC 5, EF 6.1.1 and framework 4.5.2.

Even after updating my VS2013 to update 4, this error still persisted.

Was able to circumvent this annoying problem by changing the DbSet to IDbSet inside the DbContext class.
Answer was originally from here.

//From
public DbSet SalesOrders { get; set; }

//To
public IDbSet SalesOrders { get; set; }

Community's user avatar

answered Nov 14, 2014 at 9:33

scyu's user avatar

scyuscyu

514 bronze badges

What worked for me to resolve this: Close Solution, And open the project by clicking project file and not the solution file, add your controller, and bobs your uncle

answered Mar 6, 2014 at 9:52

Gerrie Pretorius's user avatar

Gerrie PretoriusGerrie Pretorius

3,1312 gold badges30 silver badges34 bronze badges

0

None of the above helped for me.

I found that the cause of my problem was overriding OnModelCreating in my context class that the scaffold item was dependent on. By commenting out this method, then the scaffolding works.

I do wish Microsoft would release less buggy code.

answered Aug 12, 2014 at 0:56

Jim Taliadoros's user avatar

2

There was an error running the selected code generator:
‘Failed to upgrade dependency information for the project. Please restore the project and try again.’

Steps:

  1. Go to your project and update all NuGet packages to latest version.
  2. Build your application till Build success.
  3. Close solution and reopen same.
  4. And try to add file like controller, class, etc.

error picture

TylerH's user avatar

TylerH

20.4k62 gold badges75 silver badges97 bronze badges

answered Aug 2, 2019 at 8:06

Manjunath K's user avatar

0

I have seen this error with a new MVC5 project when referencing a model from a different project. Checking the path, EntityFramework.dll did exist. It was read-only though. Process monitor showed that there was an error attempting to delete the file. Setting the EntityFramework.dll in my packages folder (copy stored in source control) to writeable got around this error but brought up another one saying that it couldn’t load the EntityFramework assembly because it didn’t match the one referenced. My model class was defined in a different project that was using an older version of the entity framework. The MVC5 project was referencing EF 6 while the model was from a project references EF 4.4. Upgrading to EF 6 in the model’s project fixed it for me.

answered Nov 21, 2013 at 9:15

Lindsey's user avatar

LindseyLindsey

4514 silver badges3 bronze badges

For us it has something to do with build configurations, where we have a Debug|x64 build configuration that we had recently switched to using, which in retrospect seemed to be when the scaffolding stopped working.

(I suspect that there are at least 10 different things that can cause this, as evidenced by the various answers on SO that some people find to work for them—but which don’t work for others, so I’m not suggesting my solution will work for everyone).

What worked for us (using VS 2013 Express for Web on 64 bit Windows 7):

It (scaffolding) was NOT working in Debug|x64 Build configuration. But doing the following (and it seems like every step is necessary—couldn’t figure out how to do it in a more streamlined way) seems to work for us.

  1. First, switch to Debug|x86—use Solution (right-click) Configuration Manager for all the projects in your solution. (Debug|Any CPU may also work).
  2. Clean your solution.
  3. Shut down Visual Studio. (cannot get it to work if I skip this).
  4. Open Visual Studio.
  5. Open your solution.
  6. Build your solution.
  7. Now try adding scaffolding items; for us, it worked at this point, we no longer got the error message saying something about «There was an error running the selected code generator».

If you need to switch back to a scaffolding-non-working build configuration, you can do so, after you’ve scaffolded everything you need to for the moment. We switched back to our Debug|x64 after scaffolding what we needed to.

answered Mar 7, 2015 at 23:00

DWright's user avatar

DWrightDWright

9,2284 gold badges36 silver badges53 bronze badges

0

I had this problem when trying to add an Api Controller to my MVC ASP.NET web app for a completely different reason than the other answers given. I had accidentally included a StringLength attribute with an IndexAttribute declaration for an integer property due to a copy and paste operation:

[Index]
[IndexAttribute("NumTrainingPasses", 0), StringLength(50)]
public int NumTrainingPasses { get; set; }

Once I got rid of the IndexAttribute declaration I was able to add an Api Controller for the Model that contained the offending property (NumTrainingPasses).

To help the search engines, here is the full error message I got before I fixed the problem:

There was an error running the selected code generator:

Unable to retrieve metadata for ‘Owner.Models.MainRecord’. The property
‘NumTrainingPasses’ is not a String or Byte array. Length can only be
configured for String or Byte array properties.

answered Jul 15, 2015 at 20:10

Robert Oschler's user avatar

Robert OschlerRobert Oschler

14.1k18 gold badges90 silver badges224 bronze badges

This is usually related to a format of your Web.config

Rebuild solution and lookup under Errors, tab Messages.
If you have any format problems with a web.config you will see it there.
Fix it and try again.

Example: I had connectionstring instead of connectionString

bummi's user avatar

bummi

27k13 gold badges62 silver badges101 bronze badges

answered Dec 12, 2016 at 20:00

Marko's user avatar

MarkoMarko

1,8641 gold badge21 silver badges36 bronze badges

My issue was similar to many experience here, generic error message when trying to add a new view or use scaffolding to add a new controller.

I found out that MVC 5 and EF 6 modelbuilder are not good friends:

My Solution:

  1. Comment out modelBuilder in your Context class.
  2. Clean Solution, Rebuild Solution.
  3. Add view and Controller via scaffolding
  4. Uncomment modelbuilder.

TylerH's user avatar

TylerH

20.4k62 gold badges75 silver badges97 bronze badges

answered May 15, 2016 at 10:22

freddy's user avatar

In case it helps anyone, I renamed the namespace that the model resided in, then rebuilt the project, then renamed it back again, and rebuilt, and then it worked.

answered Feb 3, 2014 at 14:45

Adam Marshall's user avatar

Adam MarshallAdam Marshall

2,8718 gold badges40 silver badges78 bronze badges

I often run into this error working with MVC5 and EF when I create the models and context in a separate project (My data access layer) and I forget to add the context connection string to the MVC project’s Web.Config.

answered Dec 6, 2014 at 6:53

John S's user avatar

John SJohn S

7,76121 gold badges74 silver badges139 bronze badges

I am also having this issue with MSVS2013 Update 4 and EF 6.0
The message I was getting was:

    there was an error running the selected code generator.
A configuration for type XXXX has already been added ...[]

I have a model with around 10 classes. I scaffolded elements at the beginning of the project with no problems.

After some days adding functionality, I tried to scaffold another class from the model, but an error was keeping me from doing it.

I have tried to update MSVS from update 2 to update 4, comment out my OnModelCreating method and other ideas proposed with no luck.

As a temporary way to continue with the project, I created a different asp.net project, pasted there my model classes (I am using fluent api, so there is little annotation on them) and successfully created my controller and views.

After that, I pasted back the created classes to the original project and corrected some mistakes (mainly dbset names).

It seems to be working, although I suppose that I will still find mistakes related to relationships between classes (due to the lack of fluent configuration when created).

I hope this helps to other users.

answered Feb 25, 2015 at 12:05

jmcm's user avatar

jmcmjmcm

235 bronze badges

This happened to me when I attempted to create a new scaffold outside of the top level folder for a given Area.

  • MyArea
    | — File.cs (tried to create a new scaffold here. Failure.)

I simply re-selected my area and the problem went away:

  • AyArea (Add => new scaffold item)

Note that after scaffold generation you are taken to a place where you will not be able to create a new scaffold without re-selecting the area first (in VS 2013 at least).

answered Apr 20, 2015 at 15:51

P.Brian.Mackey's user avatar

P.Brian.MackeyP.Brian.Mackey

42.6k65 gold badges231 silver badges344 bronze badges

  • vs2013 update 4
  • ef 5.0.0
  • ibm db2connector 10.5 fp 5

change the web.config file as such:
removed the provider/s from ef tag:

<entityFramework>
</entityFramework>

added connection string tags under config sections:

</configSections>
<connectionStrings>
<add name=".." connectionString="..." providerName="System.Data.EntityClient" />
</connectionStrings>

answered Jun 28, 2015 at 4:02

gummylick's user avatar

I had the same problem when in my MVC app EF reference property (in Properties window) «Specific version» was marked as False and in my other project (containing DBContext and models) which was refrenced from MVC app that EF reference property was marked as True. When I marked it as False everything was fine.

answered Nov 15, 2015 at 11:02

Iwona Kubowicz's user avatar

In my case, I was trying to scaffold Identity elements and none of the above worked. The solution was simply to open Visual Studio with Administrator privileges.

TylerH's user avatar

TylerH

20.4k62 gold badges75 silver badges97 bronze badges

answered Jan 8, 2020 at 19:01

Hugo Nava Kopp's user avatar

Hugo Nava KoppHugo Nava Kopp

2,7872 gold badges24 silver badges41 bronze badges

1

Rebuild the solution works for me. before rebuild, I find references number of my ‘ApplicationDbContext’ is zero, that is impossible, so rebuild solution, everything is OK now.

answered Sep 10, 2014 at 10:08

simon9k's user avatar

1

I had this issue in VS 2017. I had Platform target (in project properties>Build>General) set to «x64». Scaffolding started working after changing it to «Any CPU».

answered Mar 27, 2019 at 9:51

billw's user avatar

billwbillw

1181 silver badge8 bronze badges

It may be due to differences in the versions of nuget packages. See if you have this by going to dependencies->nuget packages folder in your solution. Try installing all of them of a single version and restart the visual studio after cleaning the componentmodelcache folder as mentioned above. This should the get the work done for you.

answered May 30, 2020 at 9:57

shashi kumar's user avatar

1

For what it’s worth, the below solution is what worked for me.

My Setup:
First of all my project setup was different. I had a MyProject.Data and MyProject, and I was trying to scaffold «API Controller with actions, using Entity Framework» on to my API folder in MyProject, and I was getting the error in question. I was using .net 3.1.

Solution:
I had to downgrade all the below nuget packages installed on MyProject.Data project

Before downgrade:
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.2">
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="5.0.2">


 After downgrade:
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.11" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.11">
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.11" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.11">

Then tried again to use scaffolding and it just worked!!

After scaffolding MyProject had the below nuget package versions installed:

<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="3.1.11" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.11" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.11"/>
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.4" /> 

The main problem was that no errors were displayed other than the one that shows up on the dialog box or does not even point us to any logs or nor any helpful documentation are available. If anyone finds one please attach it to this answer. It was very frustrating and this almost ate away half-day of my weekend 🙁

Hope it helps someone. Happy coding!!

For what it’s worth, the below solution is what worked for me.

My Setup:
First of all my project setup was different. I had a MyProject.Data and MyProject, and I was trying to scaffold «API Controller with actions, using Entity Framework» on to my API folder in MyProject, and I was getting the error in question. I was using .net 3.1.

Solution:
I had to downgrade all the below nuget packages installed on MyProject.Data project

Before downgrade:
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="5.0.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.2">
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="5.0.2">


 After downgrade:
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.11" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.11">
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.11" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.11">

Then tried again to use scaffolding and it just worked!!

After scaffolding MyProject had the below nuget package versions installed:

<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="3.1.11" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.11" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.11"/>
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.4" /> 

The main problem was that no errors were displayed other than the one that shows up on the dialog box or does not even point us to any logs or nor any helpful documentation are available. If anyone finds one please attach it to this answer. It was very frustrating and this almost ate away half-day of my weekend 🙁

Hope it helps someone. Happy coding!!

Я создаю новый вид модели.
Сообщение об ошибке, которое я получаю, —

Произошла ошибка при запуске выбранного генератора кода:
— Доступ к тропе!—1—>
‘C:UsersXXXXXXXAppDataLocalTempSOMEGUIDEntityFramework.dll «отказано».

Я запускаю VS 2013 как администратор.

Я посмотрел на совместим ли MvcScaffolding с VS 2013 RC по командной строке? но похоже, это не решило проблему.

VS2013
C#5
MVC5
Новый проект стартовал в VS 2013.

21 ответов


ошибка VS2013: произошла ошибка при запуске выбранного генератора кода:
‘Конфигурация для типа’ SolutionName.Модель.Salesorder, которая уже
были добавлены …’

У меня была эта проблема при работе через курс Pluralsight «данные родитель-потомок с EF, MVC, Knockout, Ajax и Validation». Я пытался добавить Новый Деталь С помощью шаблона контроллер MVC 5 с представлениями, используя Entity Framework.

класс контекста данных, который я использовал, включая переопределение метода OnModelCreating. Переопределение было необходимо для добавления некоторых явных конфигураций столбцов базы данных, где значения по умолчанию EF были неадекватными. Это переопределение было простым, работающим и без ошибок, но (как отмечалось выше) это мешало генерации кода лесов контроллера.

решение, которое сработало для меня:

1-я удалил (прокомментировал) мое переопределение OnModelCreating и шаблон лесов завершен без сообщений об ошибках — мой код контроллера был сгенерирован, как ожидалось.

2-однако, пытаясь построить проект, задохнулся, потому что «модель изменилась». Поскольку мой код контроллера был теперь правильно сгенерирован, я восстановил (без комментариев) переопределение OnModelCreating, и проект был построен и успешно запущен.


проблема была с поврежденной сетью.каталог конфигурации и пакетов.

Я создал новый проект и скопировал свои файлы кода в новый рабочий проект, позже я вернулся и запустил различия в файлах конфигурации и папку diff в самом проекте.

проблема заключалась в том, что обновления сильно выбросили мой конфигурационный файл с большим количеством артефактов обновления, которые я в конечном итоге очистил.

вторая проблема заключалась в том, что старый проект тоже висит на более старые библиотеки DLL, которые должны были быть стерты с применением пакета Nuget. Поэтому я вытер папки obj и bin, а затем папку пакета. После того, как это было сделано, я смог получить старый проект отремонтирован и здание чисто.

Я не изучал, почему файл конфигурации или папка пакета были настолько borked, но я предполагаю, что это одна из двух вещей.

  1. возможно, пакет nuget имеет недостаток
  2. система управления версиями TFS заблокировала nuget от правильного обновления различных зависимостей.

с тех пор, прежде чем применять какие-либо обновления, я проверяю все. Однако, поскольку я не обновил EF в то время, я нет доказательств того, что это решило мою проблему EF или лесов.


Я смог решить эту проблему и немного лучше понять, что происходит. Лучшая часть заключается в том, что я могу воссоздать проблему и устранить ее, чтобы быть уверенным в моих объяснениях.
разрешение состояло в том, чтобы установить точно такую же версию Entity Framework как для проекта уровня доступа к данным, так и для веб-проекта.

мой уровень доступа к данным имел Entity Framework v6.0.2 установленный с помощью NuGet, веб-проект не был установлен Entity Framework. При попытке создать контроллер веб-API с шаблоном Entity Framework Entity Framework устанавливается автоматически, но его более старая версия 6.0.0. Я был удивлен, увидев две версии Entity Framework, более новые в моем проекте уровня данных и более старые в моем веб-проекте. Однажды я удалил старую версию и установил более новую версию в веб-проекте, проблема ушла.


Я проверил все свои проекты, и каждый из них имел ту же версию Entity Framework. В моем случае проблема заключалась в том, что один из моих проектов был нацелен на .Net 4.0, в то время как остальные были .Net 4.5.

устранение:

  1. для каждого проекта в проекте решения — > свойства — >приложение: установите целевую платформу на .Net 4.5 (или что вам нужно).
  2. инструменты — > управление пакетом NuGet для решения. Найдите Установленную «Entity Framework». И нажмите кнопку Управление. Снимите флажок все проекты (обратите внимание на проекты, требующие EF). Теперь, повторно управлять EF и проверить, что проекты, которые вам нужны.
  3. очистить и перестроить решение.

Я пробовал каждый ответ на каждом веб-сайте, который я нашел, и ничего не сработало… до этого. Публикация поздно в случае, если кто-то, как я, приходит и имеет тот же разочаровывающий опыт, что и я.

моя проблема была похожа на многие здесь, общее сообщение об ошибке при попытке использовать леса, чтобы попытаться добавить новый контроллер (ef6, webapi). Первоначально я мог использовать леса примерно для 15 контроллеров, после этого он просто перестал работать один день.

финал Решение:

  1. открыть рабочую папку на жестком диске вашего решения.
  2. удалить все внутри папки BIN
  3. удалить все внутри папки OBJ
  4. чистое решение, перестроить решение, добавить контроллер через леса

вуаля! (для меня)


это обычно вызвано недопустимым . У меня была такая же проблема, и оказалось, что я нечаянно изменил блок комментариев HTML <!-- --> к блоку комментариев на стороне сервера @* *@ (через действие заменить все).

и в случае, если вы разрабатываете приложение WinForms, попробуйте посмотреть на App.config.

4

автор: Moslem Ben Dhaou


У меня точно такая же проблема.
Впервые столкнулся с этим, следуя по курсу Pluralsight «данные родитель-потомок с EF, MVC, нокаутом, Ajax и проверкой».

Я использую MVC 5, EF 6.1.1 и framework 4.5.2.

даже после обновления моего VS2013 до обновления 4 Эта ошибка все еще сохраняется.

удалось обойти эту неприятную проблему, изменив DbSet на IDbSet внутри класса DbContext.
Ответ был первоначально от здесь.

//From
public DbSet SalesOrders { get; set; }

//To
public IDbSet SalesOrders { get; set; }

Что сработало для меня, чтобы решить эту проблему: закройте решение и откройте проект, щелкнув файл проекта, а не файл решения, добавьте контроллер и качайте своего дядю

2

автор: Gerrie Pretorius


ничто из вышеперечисленного не помогло мне.

Я обнаружил, что причиной моей проблемы было переопределение OnModelCreating в моем классе контекста, от которого зависел элемент scaffold. Комментируя этот метод, затем строительные леса работают.

Я хочу, чтобы Microsoft выпустила меньше багги-кода.


для нас это имеет какое-то отношение к конфигурациям сборки, где у нас есть конфигурация сборки Debug|x64, которую мы недавно переключили на использование, что в ретроспективе казалось, когда леса перестали работать.

(Я подозреваю, что есть по крайней мере 10 различных вещей, которые могут вызвать это, о чем свидетельствуют различные ответы, так что некоторые люди находят работу для них, но которые не работают для других, поэтому я не предлагаю, чтобы мое решение работало для все.)

что работало для нас (используя VS 2013 Express for Web на 64 бит Windows 7):

Это (леса) было не работа в конфигурации сборки Debug/x64. Но делаю следующее (И кажется, что каждый шаг необходим, не мог выяснить, как сделать это более простым способом), кажется, работает для нас.

  1. сначала переключитесь на Debug / x86—используйте диспетчер конфигурации решения (щелкните правой кнопкой мыши) для всех проектов в вашем решении. (Debug / любой процессор также может работать).
  2. очистить решение.
  3. завершение работы Visual Studio. (не могу заставить его работать, если я пропущу этого).
  4. Открыть Visual Studio.
  5. откройте свое решение.
  6. построить решение.
  7. теперь попробуйте добавить элементы лесов; для нас это сработало на данный момент, мы больше не получили сообщение об ошибке, говорящее что-то о «была ошибка при запуске выбранного генератора кода».

Если вам нужно вернуться к конфигурации сборки лесов-нерабочей, вы можете сделать это после того, как вы построили все, что вам нужно на данный момент. Мы переключились обратно на наш Debug / x64 после лесов, что нам нужно.


Я видел эту ошибку с новым проектом MVC5 при ссылке на модель из другого проекта. Проверка пути, EntityFramework.dll файлы действительно существуют. Но только для чтения. Монитор процессов показал, что произошла ошибка при попытке удалить файл. Установка и EntityFramework.dll в папке «Мои пакеты» (копия, хранящаяся в системе управления версиями) для записи обошла эту ошибку, но вызвала другую, сказав, что она не может загрузить сборку EntityFramework, потому что она не соответствует той упоминаемый. Мой класс модели был определен в другом проекте, который использовал более старую версию Entity framework. Проект MVC5 ссылался на EF 6, в то время как модель была из проекта ссылки EF 4.4. Обновление до EF 6 в проекте модели исправило это для меня.


У меня была эта проблема при попытке добавить контроллер Api в мой MVC ASP.NET веб-приложение по совершенно другой причине, чем другие приведенные ответы. Я случайно включил StringLength С IndexAttribute объявление для целочисленного свойства из-за операции копирования и вставки:

[Index]
[IndexAttribute("NumTrainingPasses", 0), StringLength(50)]
public int NumTrainingPasses { get; set; }

Как только я избавился от IndexAttribute объявление я смог добавить контроллер Api для модели, которая содержала оскорбительное свойство (NumTrainingPasses).

чтобы помочь поисковым системам, вот полное сообщение об ошибке, которое я получил, прежде чем я исправил проблему:

произошла ошибка при запуске выбранного генератора код:

не удалось получить метаданные для владельца.Модели.MainRecord’. Свойство
«NumTrainingPasses»не является строковым или байтовым массивом. Длина может быть
настроен для свойств массива строк или байтов.


обычно это связано с форматом вашего веб-сайта.config

перестроить решение и поиск в разделе ошибки, сообщения вкладки.
Если у вас возникли проблемы с веб.config вы увидите его там.
Исправьте это и повторите попытку.

пример: у меня connectionstring вместо connectionString


Если это кому-то поможет, я переименовал пространство имен, в котором находилась модель, затем перестроил проект, затем снова переименовал его и перестроил, а затем он работал.


перестроить решение работает для меня. перед перестроением я нахожу, что номер ссылок моего «ApplicationDbContext» равен нулю, что невозможно, поэтому перестройте решение, теперь все в порядке.


Я часто сталкиваюсь с этой ошибкой, работая с MVC5 и EF, когда я создаю модели и контекст в отдельном проекте (мой уровень доступа к данным), и я забываю добавить строку контекстного подключения к веб-сайту проекта MVC.Конфиг.


У меня также есть эта проблема с Msvs2013 Update 4 и EF 6.0
Сообщение, которое я получил, было:

    there was an error running the selected code generator.
A configuration for type XXXX has already been added ...[]

У меня есть модель с 10 класса. Я без проблем собрал элементы в начале проекта.

через несколько дней, добавив функциональность, я попытался построить другой класс из модели, но ошибка удерживала меня от этого.

Я попытался обновить MSVS от обновления 2 до обновления 4, прокомментируйте мой метод OnModelCreating и другие идеи, предложенные безрезультатно.

в качестве временного способа продолжения проекта я создал другой asp.net проект, вставил туда мои классы моделей (я использую fluent api, поэтому на них мало аннотаций) и успешно создал мой контроллер и представления.

после этого я вставил созданные классы в исходный проект и исправил некоторые ошибки (в основном имена dbset).

Кажется, это работает, хотя я полагаю, что я буду все еще находите ошибки, связанные с отношениями между классами (из-за отсутствия плавной конфигурации при создании).

Я надеюсь, это поможет другим пользователям.


Это произошло со мной, когда я попытался создать новый эшафот вне папки верхнего уровня для данного площадью.

  • MyArea
    | — Папка.cs (попытался создать здесь новый эшафот. Неудача.)

Я просто повторно выбрал свою область, и проблема ушла:

  • AyArea (Add => новый элемент ремонтины)

обратите внимание, что после генерации лесов вы попадете в место, где вы не сможете создайте новый помост без повторного выбора области сначала (по крайней мере, в VS 2013).


  • vs2013 обновления 4
  • ef 5.0.0
  • ibm db2connector 10.5 fp 5

изменить сети.конфигурационный файл как таковой:
удален поставщик / ы из тега ef:

<entityFramework>
</entityFramework>

добавлены теги строк подключения в разделах конфигурации:

</configSections>
<connectionStrings>
<add name=".." connectionString="..." providerName="System.Data.EntityClient" />
</connectionStrings>

У меня была та же проблема, когда в моем MVC app EF reference property (в окне свойств) «конкретная версия» была отмечена как False и в моем другом проекте (содержащем DBContext и модели), который был рефренирован из MVC app, что EF reference property был отмечен как True. Когда я отметил Это как ложь, все было в порядке.


Я знаю, что я поздно, но это было так неприятно, поэтому я надеюсь, что это может немного помочь …

моя проблема была похожа на многие здесь, универсальное сообщение об ошибке при попытке добавить новый вид или использование лесов для добавления нового контроллера.
я узнал, что MVC 5 и EF 6 modelbuilder не являются хорошими друзьями:

Мое Решение:
1.Прокомментируйте modelBuilder в своем классе контекста.
2.Чистое Решение, Перестроить Решение.

3.Добавить представление и контроллер через леса
4. Раскомментируйте в modelbuilder.

может быть, немного необычный, но он работал! (для меня)


Volodya_

14 / 12 / 3

Регистрация: 20.02.2018

Сообщений: 446

1

06.07.2021, 07:12. Показов 7668. Ответов 8

Метки asp .net core, c#, entity framework core, visual studio 2019, visual studio (Все метки)


Проект ASP NET CORE 3, использую EF Core 3.1.13.

Ранее в этом же проекте контроллеры автоматически генерировались. Сейчас при попытке сгенерировать контроллер MVC с представлениями, использующий EF выдает ошибку:

При запуске выбранного генератора кода произошла ошибка сбой при восстановлении пакета. откат изменений пакета для …

Про гуглил данную ошибку и все пишут про отсутствия нужных пакетов и советуют через Nuget установить их. Пакеты, которые перечислялись у меня все в файле csproj есть:

C#
1
2
3
4
5
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration" Version="3.1.5" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.5" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Utils" Version="3.1.5" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGenerators.Mvc" Version="3.1.5" />
    <PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="3.2.4" />

Попробовал их удалить и снова переустановить, но это не решило проблему

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



14 / 12 / 3

Регистрация: 20.02.2018

Сообщений: 446

07.07.2021, 15:24

 [ТС]

2

Создал новый проект, добавил в него через NuGet те же самые пакеты — все работает



0



14 / 12 / 3

Регистрация: 20.02.2018

Сообщений: 446

22.07.2021, 12:21

 [ТС]

3

Через некоторое время и в новом проекте перестало все работать



0



956 / 584 / 202

Регистрация: 08.08.2014

Сообщений: 1,847

22.07.2021, 15:08

4

Volodya_
В 19-й Студии есть стабильный баг с версиями/доступностью пакетов из-за кривого кэширования в каталоге ‘.vs’.

Лечится просто — закрыть Студию, из sln-каталога удалить ‘.vs’-подкаталог, а из всех проектов удалить подкаталоги ‘bin’ и ‘obj’. Запустить Студию, пересобрать солюшен.



0



922 / 600 / 149

Регистрация: 09.09.2011

Сообщений: 1,879

Записей в блоге: 2

22.07.2021, 15:34

5

Цитата
Сообщение от kotelok
Посмотреть сообщение

В 19-й Студии есть стабильный баг с версиями/доступностью пакетов из-за кривого кэширования в каталоге ‘.vs’.
Лечится просто — закрыть Студию, из sln-каталога удалить ‘.vs’-подкаталог, а из всех проектов удалить подкаталоги ‘bin’ и ‘obj’. Запустить Студию, пересобрать солюшен.

Отчасти правильно.

.vs не нужно удалять. Там нет ничего связанного с пакетами и т.п. А вот кое-какие полезные настройки можно удалить.

Лучший совет — bin и obj папки удалять.
Но по своему опыту могу точно сказать — что удалять их приходится только если я, например, в текущем каталоге ветку переключил в которой не было изменений, в том числе зависимостями. Тогда надо обязательно сборку перебильживать в чистую. В остальных случаях это бесполезно.



0



956 / 584 / 202

Регистрация: 08.08.2014

Сообщений: 1,847

22.07.2021, 15:41

6

Цитата
Сообщение от HF
Посмотреть сообщение

vs не нужно удалять

Стабильно помогает именно удаление ‘.vs’, когда Студия упорно не видит новую версию пакета из нугета или не определяет новые пути подпроектов после реорганизации структуры проекта (перенос какого-нибудь из проектов в подкаталог). Не только на моей машине. Апдейты все установлены.



0



14 / 12 / 3

Регистрация: 20.02.2018

Сообщений: 446

22.07.2021, 21:56

 [ТС]

7

Цитата
Сообщение от kotelok
Посмотреть сообщение

В 19-й Студии есть стабильный баг с версиями/доступностью пакетов из-за кривого кэширования в каталоге ‘.vs’.
Лечится просто — закрыть Студию, из sln-каталога удалить ‘.vs’-подкаталог, а из всех проектов удалить подкаталоги ‘bin’ и ‘obj’. Запустить Студию, пересобрать солюшен.

Вышел из проекта, закрыл VS, удалил .vs’-подкаталог, удалил подкаталоги ‘bin’ и ‘obj’, удалил ещё до кучи и .sln-файл, запустил VS она сразу автоматически создала подкаталоги ‘bin’ и ‘obj’, пересобрал решение — таже ошибка.

Наличие git как-то может повлиять?

Добавлено через 4 часа 16 минут
Пытаюсь создать снова новый проект и в нем сгенерировать, но он уже и в новом проекте такую же ошибку выдает



0



922 / 600 / 149

Регистрация: 09.09.2011

Сообщений: 1,879

Записей в блоге: 2

23.07.2021, 08:29

8

Цитата
Сообщение от Volodya_
Посмотреть сообщение

Пытаюсь создать снова новый проект и в нем сгенерировать, но он уже и в новом проекте такую же ошибку выдает

Это проблема индивидуально для вашего проекта, который мы даже не видели. А я например вообще без понятия как работает этот генератор. Нужен ли он в референцах, какой и как и когда генерируются контроллеры.
Указанная вами ошибка обычно связана с зависимостями, которые не совместимы или для проекта вообще или для других пакетов. Может быть тот же ЕФ не совместим с этой версией. Если например убрать эти ссылки, то наверняка будут ошибки типа «Пакет ХХХ ожидал и не нашёл зависимость НННН версии ЮЮЮЮ»
Для начала прочитай полный лог билда. Если не достаточно там информации — увеличьте уровень логирования. В итоге найдёте информацию о конфликтах и попытках исправить или рекомендациях.



0



14 / 12 / 3

Регистрация: 20.02.2018

Сообщений: 446

23.07.2021, 13:16

 [ТС]

9

Цитата
Сообщение от HF
Посмотреть сообщение

Это проблема индивидуально для вашего проекта, который мы даже не видели. А я например вообще без понятия как работает этот генератор. Нужен ли он в референцах, какой и как и когда генерируются контроллеры.
Указанная вами ошибка обычно связана с зависимостями, которые не совместимы или для проекта вообще или для других пакетов. Может быть тот же ЕФ не совместим с этой версией. Если например убрать эти ссылки, то наверняка будут ошибки типа «Пакет ХХХ ожидал и не нашёл зависимость НННН версии ЮЮЮЮ»
Для начала прочитай полный лог билда. Если не достаточно там информации — увеличьте уровень логирования. В итоге найдёте информацию о конфликтах и попытках исправить или рекомендациях.

Логов нет, я же проект не запускаю. Этот генератор генерирует шаблон контроллера на основании созданной сущности. Поэтому кроме вылетающего сообщения ничего нет. Или все-таки где-то что-то ещё есть? Где смотреть нужно?



0



Я работаю над проектом ASP.NET MVC, и до сих пор у меня не было проблем с созданием лесов для любых типов элементов.

Каждый раз, когда я хочу создать новый контроллер или представление, я получаю следующее сообщение об ошибке:

Произошла ошибка при запуске выбранного генератора кода: «Значение -1 вне допустимого диапазона [0,2147483647]. Имя параметра: значение ‘

Эта проблема возникает только в проекте, над которым я сейчас работаю, когда я пытался создать новый контроллер в другом проекте, и он работал безупречно.

Я уже пробовал удалить папку ComponentModelCache и перестроить проект, но проблема все еще сохраняется.
Моя Visual Studio 2019 также обновлена.

РЕДАКТИРОВАТЬ: Вытягивание проекта из системы управления исходным кодом git на другом ПК и восстановление пакетов устранили проблему для меня. Вероятно, вам не нужно делать это с другого компьютера, просто попробуйте удалить проект и восстановить его с удаленного компьютера.

ИЗМЕНИТЬ 2: Создание второго представления и снова та же проблема …

14 ответов

Я исправил это, выгрузив и перезагрузив проект


15

juagicre
19 Сен 2019 в 15:00

Одна из возможных причин заключается в том, что если ваш файл web.config открыт, может появиться эта ошибка. Попробуйте закрыть файл web.config и затем добавить представление.

Вы также можете обратиться на этот веб-сайт для получения дополнительной информации: Ошибка при запуске выбранного кода сгенерировать значение

Надеюсь это поможет.


4

noobprogrammer
20 Сен 2019 в 07:14

Мне удалось это исправить, заменив веб-проект на новый.

-Я переименовал проект в папку project_old и удалил его из решения. -Добавлен новый проект в решение, щелкнув правой кнопкой мыши и добавив проект -Созданы старые контроллеры и все остальное с копированием из старых файлов проекта -Обновлены пакеты nuget и удалены старые файлы проекта

Чистое решение -> Восстановить решение и вуаля


2

Tamer Berat Çelik
19 Авг 2019 в 13:34

Я исправляю это, удаляя папку .vs, повторно открывая проект и очищая решение


1

albertLopez
21 Авг 2019 в 01:05

Закройте все документы и попробуйте еще раз создать новый контроллер. Это работает для меня в Visual Studio 2019 asp.net MVC, но я не знаю, почему


1

Alexander Ushakov
1 Сен 2019 в 20:15

Я смог исправить это, вручную удалив папки BIN и OBJ для своих проектов. Выполнить очистку в Visual Studio не удалось.


0

Delubear
14 Авг 2019 в 22:29

Я получал эту ошибку — поскольку мой проект является репозиторием git, я запустил на нем git clean -xfd, затем перестроил его и смог добавить контроллер при повторной попытке.


0

Emma Pearlman
15 Авг 2019 в 17:18

Попробуйте оба, любой из них будет работать.

1.Just delete .vs folder in project solution.
2.If above fix does not work.,close your web.config file if it is opened.


0

sai
19 Окт 2019 в 17:36

Я исправил это, сопоставив версию «Microsoft.VisualStudio.Web.CodeGeneration.Design» Version = « 5.0.2 » с остальными.

Заменил все, что было 5.0.9 на 5.0.2 , и все заработало.


0

Christian Rios
2 Сен 2021 в 06:17

Вернитесь к VS 2017, и он будет работать нормально


-3

Richard
3 Сен 2019 в 19:52

Просто используйте vs15. Во многих отношениях vs19 все еще находится в стадии бета-тестирования …


-4

user11947726
19 Авг 2019 в 19:26

«Произошла ошибка при запуске выбранного генератора кода» в скаффолдинге VS 2013

25 ответы

Ошибка VS2013: произошла ошибка при запуске выбранного генератора кода: «Конфигурация для типа «SolutionName.Model.SalesOrder» уже добавлена…»

У меня возникла эта проблема во время работы над курсом Pluralsight «Родительско-дочерние данные с EF, MVC, Knockout, Ajax и проверкой». Я пытался добавить Новый элемент лесов используя шаблон Контроллер MVC 5 с представлениями с использованием Entity Framework.

Используемый мной класс контекста данных включает переопределение метода OnModelCreating. Переопределение требовалось для добавления некоторых явных конфигураций столбцов базы данных, где значения по умолчанию EF не подходили. Это переопределение было простым, работало и не содержало ошибок, но (как отмечалось выше) мешало генерации кода скаффолдинга контроллера.

Решение, которое сработало для меня:

1 — я удалил (закомментировал) свое переопределение OnModelCreating, и шаблон скаффолдинга завершился без сообщений об ошибках — мой код контроллера был сгенерирован, как и ожидалось.

2 — Однако попытка построить проект захлебнулась, потому что «модель изменилась». Поскольку мой код контроллера теперь был правильно сгенерирован, я восстановил (раскомментировал) переопределение OnModelCreating, и проект был построен и успешно запущен.

Создан 08 июля ’15, 15:07

Проблема была с поврежденным web.config и каталог пакетов.

Я создал новый проект и скопировал свои файлы кода в новый рабочий проект, позже я вернулся и запустил различия в файлах конфигурации и папке в самом проекте.

Проблема заключалась в том, что обновления сильно испортили мой конфигурационный файл множеством артефактов обновлений, которые я в итоге удалил.

Вторая проблема заключалась в том, что старый проект также продолжал висеть на старых DLL, которые должны были быть стерты приложением пакета Nuget. Поэтому я вытер obj и bin папки, затем папку пакета. После того, как это было сделано, я смог отремонтировать и собрать старый проект.

Я не изучал, почему файл конфигурации или папка пакета были настолько повреждены, но я предполагаю, что это одна из двух вещей.

  1. Возможно, пакет nuget имеет недостаток
  2. Система управления версиями TFS заблокировала nuget от правильного обновления различных зависимостей.

С тех пор, прежде чем применять какие-либо обновления, я все проверяю. Однако, поскольку я некоторое время не обновлял EF, у меня нет доказательств того, что это решило мою проблему с EF или скаффолдингом.

ответ дан 10 апр.

Я смог решить эту проблему и немного лучше понять, что происходит. Самое приятное то, что я могу воссоздать проблему и исправить ее, чтобы быть уверенным в моем объяснении здесь.
Решение состояло в том, чтобы установить точно такую ​​же версию Entity Framework как для проекта уровня доступа к данным, так и для веб-проекта.

На моем уровне доступа к данным была установлена ​​Entity Framework v6.0.2 с использованием NuGet, в веб-проекте не была установлена ​​Entity Framework. При попытке создать контроллер веб-API с шаблоном Entity Framework Entity Framework устанавливается автоматически, но это одна из более старых версий 6.0.0. Я был удивлен, увидев две установленные версии Entity Framework: более новую в моем проекте уровня данных и более старую в моем веб-проекте. Однажды я удалил старую версию и установил новую версию в веб-проекте, и проблема исчезла.

ответ дан 07 мар ’14, в 20:03

Я пробовал каждый ответ на каждом веб-сайте, который я нашел, и ничего не получалось… до этого. Публикация поздно на случай, если кто-то вроде меня придет и получит такой же разочаровывающий опыт, как и я.

Моя проблема была похожа на многие здесь, общее сообщение об ошибке при попытке использовать строительные леса, чтобы попытаться добавить новый контроллер (ef6, webapi). Сначала я мог использовать строительные леса примерно для 15 контроллеров, после чего в один прекрасный день они просто перестали работать.

Окончательное решение:

  1. Откройте рабочую папку на жестком диске для своего решения.
  2. Удалить все внутри папки BIN
  3. Удалите все внутри папки OBJ
  4. Чистое решение, перестроение решения, добавление контроллера через строительные леса

Вуаля! (для меня)

ответ дан 13 мая ’15, 15:05

Я проверил все свои проекты, и у каждого была одна и та же версия Entity Framework. В моем случае проблема заключалась в том, что один из моих проектов был ориентирован на .Net 4.0, а остальные — на .Net 4.5.

Решение:

  1. Для каждого проекта в решении Project->Properties->Application: установите Target Framework на .Net 4.5 (или что вам нужно).
  2. Инструменты-> Управление пакетом NuGet для решения. Найдите установленную «Entity Framework». И нажмите Управление. Снимите отметку со всех проектов (обратите внимание на проекты, для которых требуется EF). Теперь переуправляйте EF и проверьте те проекты, которые вам нужны.
  3. Решение для очистки и восстановления.

Создан 22 янв.

Обычно это вызвано недопустимым Web.config файл. У меня была такая же проблема, и оказалось, что я непреднамеренно изменил блок комментариев HTML. <!-- --> в блок комментариев на стороне сервера @* *@ (через действие «Заменить все»).

И если вы разрабатываете приложение WinForms, попробуйте посмотреть App.config.

ответ дан 25 мая ’14, 12:05

У меня точно такая же проблема. Впервые столкнулся с этим, следуя курсу Pluralsight «Родительско-дочерние данные с EF, MVC, Knockout, Ajax и проверкой».

Я использую MVC 5, EF 6.1.1 и фреймворк 4.5.2.

Даже после обновления моего VS2013 до обновления 4 эта ошибка все еще сохранялась.

Удалось обойти эту досадную проблему, изменив DbSet на IDbSet внутри класса DbContext. Ответ изначально был от здесь.

//From
public DbSet SalesOrders { get; set; }

//To
public IDbSet SalesOrders { get; set; }

ответ дан 23 мая ’17, 13:05

Что помогло мне решить эту проблему: закрыть решение и открыть проект, щелкнув файл проекта, а не файл решения, добавить свой контроллер и качать своего дядю

ответ дан 06 мар ’14, в 09:03

Ничего из перечисленного мне не помогло.

Я обнаружил, что причиной моей проблемы было переопределение OnModelCreating в моем классе контекста, от которого зависел элемент каркаса. Закомментировав этот метод, строительные леса заработают.

Я бы хотел, чтобы Microsoft выпускала меньше кода с ошибками.

ответ дан 12 авг.

Произошла ошибка при запуске выбранного генератора кода:
‘Не удалось обновить информацию о зависимостях для проекта. Пожалуйста, восстановите проект и повторите попытку».

Шаги:

  1. Перейдите в свой проект и обновите все пакеты NuGet до последней версии.
  2. Создайте свое приложение до успеха сборки.
  3. Закройте решение и снова откройте его.
  4. И попробуйте добавить файл, такой как контроллер, класс и т. Д.

картинка ошибки

Создан 23 ноя.

Я видел эту ошибку с новым проектом MVC5 при ссылке на модель из другого проекта. Проверка пути показала, что EntityFramework.dll действительно существует. Хотя он был доступен только для чтения. Монитор процесса показал, что при попытке удалить файл произошла ошибка. Установка EntityFramework.dll в моей папке пакетов (копия, хранящаяся в системе управления версиями) для записи позволила обойти эту ошибку, но вызвала еще одну, говорящую о том, что она не может загрузить сборку EntityFramework, поскольку она не соответствует указанной. Мой класс модели был определен в другом проекте, в котором использовалась более старая версия фреймворка сущностей. Проект MVC5 ссылался на EF 6, а модель была из проекта ссылается на EF 4.4. Обновление до EF 6 в проекте модели исправило это для меня.

Создан 21 ноя.

Для нас это как-то связано с конфигурациями сборки, где у нас есть конфигурация сборки Debug|x64, которую мы недавно переключили на использование, что, оглядываясь назад, казалось, когда скаффолдинг перестал работать.

(Я подозреваю, что есть по крайней мере 10 различных причин, которые могут вызвать это, о чем свидетельствуют различные ответы на SO, которые некоторые люди считают работающими для них, но которые не работают для других, поэтому я не предлагаю свою решение будет работать для всех).

Что сработало для нас (используя VS 2013 Express для Интернета в 64-битной Windows 7):

Это (строительные леса) было НЕ работает в конфигурации Debug | x64 Build. Но выполнение следующего (и кажется, что каждый шаг необходим — не мог понять, как сделать это более упорядоченным способом), кажется, работает для нас.

  1. Сначала переключитесь на Debug|x86 — используйте Solution (щелкните правой кнопкой мыши) Configuration Manager для всех проектов в вашем решении. (Отладка | Любой процессор также может работать).
  2. Очистите свой раствор.
  3. Завершите работу Visual Studio. (не могу заставить его работать, если я пропущу это).
  4. Откройте Visual Studio.
  5. Откройте свое решение.
  6. Создайте свое решение.
  7. Теперь попробуйте добавить строительные леса; для нас это сработало на этом этапе, мы больше не получали сообщение об ошибке, говорящее что-то о «Произошла ошибка при запуске выбранного генератора кода».

Если вам нужно вернуться к нерабочей конфигурации сборки, вы можете сделать это после того, как вы создали все, что вам нужно на данный момент. Мы вернулись к нашему Debug | x64 после того, как создали то, что нам было нужно.

ответ дан 08 мар ’15, в 18:03

У меня возникла эта проблема при попытке добавить контроллер Api в мое веб-приложение MVC ASP.NET по совершенно другой причине, чем другие данные ответы. Я случайно включил длина строки атрибут с ИндексАтрибут объявление целочисленного свойства из-за операции копирования и вставки:

[Index]
[IndexAttribute("NumTrainingPasses", 0), StringLength(50)]
public int NumTrainingPasses { get; set; }

Однажды я избавился от ИндексАтрибут декларации я смог добавить контроллер API для модели, которая содержала оскорбительное свойство (NumTrainingPasses).

Чтобы помочь поисковым системам, вот полное сообщение об ошибке, которое я получил до того, как исправил проблему:

Произошла ошибка при запуске выбранного генератора кода:

Не удалось получить метаданные для «Owner.Models.MainRecord». Недвижимость
«NumTrainingPasses» не является массивом строк или байтов. Длина может быть настроена только для свойств массива String или Byte.

Создан 15 июля ’15, 21:07

Обычно это связано с форматом вашего Web.config.

Перестройте решение и выполните поиск в разделе «Ошибки», вкладка «Сообщения». Если у вас есть какие-либо проблемы с форматом в файле web.config, вы увидите его там. Исправьте это и повторите попытку.

Пример: у меня было connectionstring вместо connectionString

ответ дан 12 дек ’16, 20:12

Моя проблема была похожа на многие опыты здесь, общее сообщение об ошибке при попытке добавить новое представление или использовать леса для добавления нового контроллера.

Я обнаружил, что построитель моделей MVC 5 и EF 6 не являются хорошими друзьями:

Мое решение:

  1. Закомментируйте modelBuilder в вашем классе Context.
  2. Чистое решение, восстановление решения.
  3. Добавить представление и контроллер через строительные леса
  4. Раскомментируйте построитель моделей.

Создан 23 ноя.

На случай, если это кому-то поможет, я переименовал пространство имен, в котором находилась модель, затем перестроил проект, затем снова переименовал его, перестроил, и тогда все заработало.

Создан 03 фев.

Я часто сталкиваюсь с этой ошибкой при работе с MVC5 и EF, когда создаю модели и контекст в отдельном проекте (мой уровень доступа к данным) и забываю добавить строку подключения контекста в Web.Config проекта MVC.

ответ дан 06 дек ’14, 06:12

У меня также возникла эта проблема с MSVS2013 Update 4 и EF 6.0. Я получил сообщение:

    there was an error running the selected code generator.
A configuration for type XXXX has already been added ...[]

У меня есть модель с примерно 10 классами. Я скаффолдил элементы в начале проекта без проблем.

Через несколько дней добавления функциональности я попытался создать еще один класс из модели, но ошибка помешала мне это сделать.

Я попытался обновить MSVS с обновления 2 до обновления 4, закомментировать мой метод OnModelCreating и другие предложенные идеи, но безуспешно.

В качестве временного способа продолжить проект я создал другой проект asp.net, вставил туда свои классы моделей (я использую свободный API, поэтому на них мало аннотаций) и успешно создал свой контроллер и представления.

После этого я вставил созданные классы обратно в исходный проект и исправил некоторые ошибки (в основном имена dbset).

Вроде работает, хотя предполагаю, что ошибки, связанные с отношениями между классами, все равно найду (из-за отсутствия флюидной конфигурации при создании).

Я надеюсь, что это поможет другим пользователям.

Создан 25 фев.

Это случилось со мной, когда я попытался создать новый шаблон за пределами папки верхнего уровня для данного Район.

  • Моя территория
    | — File.cs (пытался создать здесь новый скаффолд. Ошибка.)

Я просто повторно выбрал свою область, и проблема исчезла:

  • AyArea (Добавить => новый элемент лесов)

Обратите внимание, что после создания скаффолда вы попадаете в место, где вы не сможете создать новый скаффолд без предварительного выбора области (по крайней мере, в VS 2013).

ответ дан 20 апр.

  • vs2013 обновление 4
  • Эф 5.0.0
  • ibm db2connector 10.5 fp 5

измените файл web.config как таковой: удалили провайдеров из тега ef:

<entityFramework>
</entityFramework>

добавлены теги строки подключения в разделы конфигурации:

</configSections>
<connectionStrings>
<add name=".." connectionString="..." providerName="System.Data.EntityClient" />
</connectionStrings>

Создан 28 июн.

У меня была та же проблема, когда в моем ссылочном свойстве EF приложения MVC (в окне «Свойства») «Конкретная версия» была отмечена как False, а в моем другом проекте (содержащем DBContext и модели), который был переработан из приложения MVC, это ссылочное свойство EF было помечено как Истинный. Когда я отметил его как False, все было в порядке.

Создан 15 ноя.

В моем случае я пытался создать элементы Identity, и ничего из вышеперечисленного не сработало. Решение состояло в том, чтобы просто открыть Visual Studio с правами администратора.

Создан 23 ноя.

Перестроить решение работает для меня. перед перестройкой я обнаружил, что номер ссылки моего ApplicationDbContext равен нулю, что невозможно, поэтому перестройте решение, теперь все в порядке.

Создан 10 сен.

У меня была эта проблема в VS 2017. У меня была цель платформы (в свойствах проекта > Сборка > Общие), установленная на «x64». Скаффолдинг начал работать после изменения его на «Любой процессор».

ответ дан 27 мар ’19, в 09:03

Это может быть связано с различиями в версиях пакетов nuget. Посмотрите, есть ли это у вас, перейдя в папку dependencies->nuget packages в вашем решении. Попробуйте установить их все одной версии и перезапустите визуальную студию после очистки папки componentmodelcache, как указано выше. Это должно сделать работу за вас.

ответ дан 30 мая ’20, 10:05

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками

c#
visual-studio-2013
asp.net-mvc-5
asp.net-mvc-scaffolding

or задайте свой вопрос.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • При запуске компьютера вылазит ошибка
  • При запуске выбранного генератора кода произошла ошибка mvc