Ошибка Code Smith - не удалось сравнить два элемента в массиве

Для создания кода уровня доступа к данным для нашего веб-сайта asp.net мы используем комбинацию уровней codemith и net.

Неожиданно сегодня при попытке сгенерировать код я получаю следующую ошибку.

Generating project "C:\Source\Trunk\Project1V1.0\Project1.csp" outputs...
Compiling template "C:\Source\Trunk\Project1V1.0\CodeGenerationTemplates\NetTiers.cst"...
Template compilation succeeded. (405 ms)
Rendering output 'DBMaster.txt'...
Error: Project1.csp(0,0) Failed to compare two elements in the array.
Stack Trace:
   at System.Array.SorterObjectArray.DepthLimitedQuickSort(Int32 left, Int32 right, Int32 depthLimit)
   at System.Array.Sort(Array keys, Array items, Int32 index, Int32 length, IComparer comparer)
   at CodeSmith.Core.Collections.ObservableList`1.Sort(IComparer comparer)
   at _CodeSmith.NetTiers_cst.Go() in c:\Source\Trunk\Project1V1.0\CodeGenerationTemplates\NetTiers.cst:line 982
   at _CodeSmith.NetTiers_cst.__RenderMethod1(TextWriter writer, Control control) in c:\Source\Trunk\Project1V1.0\CodeGenerationTemplates\NetTiers.cst:line 5017
   at CodeSmith.Engine.DelegateControl.Render(TextWriter writer)
   at CodeSmith.Engine.Control.RenderChildren(TextWriter writer)
   at CodeSmith.Engine.CodeTemplate.Render(TextWriter writer)
   at CodeSmith.Engine.CodeTemplate.RenderToString()
   at CodeSmith.Engine.CodeTemplate.RenderToFile(OutputFile outputFile, Boolean overwrite)
   at CodeSmith.Engine.ProjectCodeGenerator.GenerateCode(CodeSmithProject project)
 --> Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
Stack Trace:
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlDataReader.TrySetMetaData(_SqlMetaDataSet metaData, Boolean moreInfo)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlDataReader.TryReadInternal(Boolean setTimeout, Boolean& more)
   at System.Data.SqlClient.SqlDataReader.Read()
   at SchemaExplorer.SqlSchemaProvider.GetTables(String connectionString, DatabaseSchema database)
   at SchemaExplorer.CachedSchemaProviderProxy.GetTables(String connectionString, DatabaseSchema database)
   at SchemaExplorer.DatabaseSchema.#N2f()
   at SchemaExplorer.SqlSchemaProvider.GetKeysFromReader(IDictionary`2 tables, SafeDataReader reader, Boolean populateTable)
   at SchemaExplorer.SqlSchemaProvider.GetTableKeys(String connectionString, TableSchema table)
   at SchemaExplorer.TableSchema.#i3f()
   at SchemaExplorer.TableSchema.get_ForeignKeys()
   at SchemaExplorer.TableSchema.#1fb(ITableSchema #Zdc, ICollection`1 #5yi)
   at SchemaExplorer.TableDependancyComparer.Compare(Object x, Object y)
   at System.Array.SorterObjectArray.SwapIfGreaterWithItems(Int32 a, Int32 b)
   at System.Array.SorterObjectArray.DepthLimitedQuickSort(Int32 left, Int32 right, Int32 depthLimit)
 --> The wait operation timed out
Stack Trace:

Unable to render output DBMaster.txt, skipping...
Skipping output 'DBChild.txt'...
Done rendering outputs: 0 succeeded, 1 failed, 1 skipped (104816ms).

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

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

Спасибо

1 ответ

Просто так у нас есть решение в списке.

"Время ожидания истекло. Время ожидания истекло до завершения операции или сервер не отвечает. Stack Trace: я думаю, что ваша база данных истекла. - mjwills "

Другие вопросы по тегам