2014-09-08 15 views
9

Ich habe ein Azure-Projekt in TFS, die früher gut funktionierte.Fehler bei Azure-Projekt

Ich habe gerade die neueste Version erhalten und das Projekt neu erstellt, und ich habe jetzt einige Fehler:

Error 97 The setting 'Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel' for role ServiceLayer is specified in the service configuration file, but it is not declared in the service definition file. D:\...\ServiceLayer.Azure1\ServiceConfiguration.Local.cscfg 1 1 ServiceLayer.Azure1 

Error 98 Role: 'ServiceLayer', setting 'Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel' in all service configurations could not be found in the service definition. D:\...\ServiceLayer.Azure1\ServiceDefinition.csdef 

Ich habe den folgenden Code:

ServiceDefinition.csdef:

<ServiceDefinition name="ServiceLayer.Azure1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2014-01.2.3"> 
    <WebRole name="ServiceLayer" vmsize="Medium"> 
    <Sites> 
     <Site name="Web"> 
     <Bindings> 
      <Binding name="Endpoint1" endpointName="Endpoint1" /> 
     </Bindings> 
     </Site> 
    </Sites> 
    <Endpoints> 
     <InputEndpoint name="Endpoint1" protocol="http" port="80" /> 
    </Endpoints> 
    <Imports> 
     <Import moduleName="Diagnostics" /> 
     <Import moduleName="RemoteAccess" /> 
     <Import moduleName="RemoteForwarder" /> 
    </Imports> 
    </WebRole> 
</ServiceDefinition> 

und die Datei: ServiceConfiguration.Local.cscfg:

<ServiceConfiguration serviceName="ServiceLayer.Azure1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="3" osVersion="*" schemaVersion="2014-01.2.3"> 
    <Role name="ServiceLayer"> 
    <Instances count="1" /> 
    <ConfigurationSettings> 
     <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" /> 
     <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled" value="true" /> 
     <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername" value="[...]" /> 
     <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword" value="[...]" /> 
     <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration" value="2015-03-05T23:59:59.0000000+01:00" /> 
     <Setting name="Microsoft.WindowsAzure.Plugins.RemoteForwarder.Enabled" value="true" /> 
     <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" /> 
    </ConfigurationSettings> 
    <Certificates> 
     <Certificate name="Microsoft.WindowsAzure.Plugins.RemoteAccess.PasswordEncryption" thumbprint="A218B66C70E780B00E189FAF7C75B0696B90D284" thumbprintAlgorithm="sha1" /> 
    </Certificates> 
    </Role> 
</ServiceConfiguration> 

Antwort

21

Sie müssen alle Einstellungsnamen (ohne Werte) auch in der Servicedefinitionsdatei im Bereich ConfigurationSettings angeben.

So sollte Ihr ServiceDefinitionFile wie folgt aussehen:

<ServiceDefinition name="ServiceLayer.Azure1"  xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2014-01.2.3"> 


<WebRole name="ServiceLayer" vmsize="Medium"> 
<Sites> 
    <Site name="Web"> 
    <Bindings> 
     <Binding name="Endpoint1" endpointName="Endpoint1" /> 
    </Bindings> 
    </Site> 
</Sites> 
<Endpoints> 
    <InputEndpoint name="Endpoint1" protocol="http" port="80" /> 
</Endpoints> 
<Imports> 
    <Import moduleName="Diagnostics" /> 
    <Import moduleName="RemoteAccess" /> 
    <Import moduleName="RemoteForwarder" /> 
</Imports> 

    <ConfigurationSettings> 
    <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" /> 
    <Setting name="Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled" /> 

    .... and so on (all your settings here 

    </ConfigurationSettings> 
    </WebRole> 
    </ServiceDefinition> 

EDIT:

Das gleiche Sie für Ihre Certificates Abschnitt zu tun.

+0

Für mich funktionierte es nur die Einstellung für ClientDiagnosticLevel hinzufügen. Danke! – Ingrid

+2

Ich hatte ein ähnliches Problem mit Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString fehlt, 2.3 kümmerte sich nicht, 2.7 SDK kümmert sich. –