2009-06-22 3 views
0

Je place mes fichiers sur un serveur de production. Sur ma machine de développement, j'utilise actuellement le fichier abp pour générer mon code. Pour déplacer le site web sur mon serveur de production, j'ai pensé que je générerais automatiquement les fichiers car je recevais une erreur avec le fichier abp car je ne l'utilise pas sous FullTrust.Erreur avec les fichiers générés à l'aide de l'outil SubCommander de SubSonic

j'ai couru la ligne de commande suivante pour générer les fichiers:

sonic.exe generate /server "serverName" /db "dbName" /generatedNamespace "namespace" /out GeneratedFiles 

Tous les fichiers génèrent bien mais quand j'essaie d'exécuter je reçois l'erreur suivante:

Object reference not set to an instance of an object. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object. 

Source Error: 

Line 228:  public static Select Select() 
Line 229:  { 
Line 230:   return Repository.Select(); 
Line 231:  } 
Line 232:  


Source File: ~\AllStructs.cs Line: 230 (*changed to not show full path) 

Toutes les idées que cause cela? Je ne trouve rien sur SubSonics qui me donne un bon aperçu de ce qui se passe.

Répondre

0

Avez-vous un fichier app.config ou web.config dans votre fichier de projet avec une chaîne de connexion correspondant à votre instance?

+0

Oui, j'ai une chaîne de connexion pointant vers la base de données que j'utilise. J'utilise un serveur différent sur la machine de production mais j'ai changé le web.config pour refléter cela. La chaîne de connexion peut-elle avoir une incidence sur l'erreur? – Fermin

+0

SubSonic définit un fournisseur de manière statique dans les fichiers générés. Et le fournisseur a une chaîne de connexion associée. Je pense que vous devez avoir les deux dans votre fichier web.config. Essayez de trouver la ligne >> public static DataProvider _provider = DataService.Providers ["YourProviderNameHere"]; << dans vos AllStructs. Si SubSonic ne trouve pas votre fournisseur, il ne fonctionnera pas. –

+1

Remarque: si vous avez un fournisseur dans votre fichier web.config, essayez de transmettre l'argument/provider à sonic.exe pour qu'il corresponde au nom –

Questions connexes