2014-09-08 3 views
9

잘 작동하던 Azure 프로젝트가 TFS에 있습니다.하늘색 프로젝트에서 오류가 발생했습니다.

I했습니다 단지 최신 버전을 다운로드하고 프로젝트를 재건 지금은 몇 가지 오류가 있습니다

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 

을 나는 다음과 같은 코드가 있습니다

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> 

및 파일 : 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> 

답변

21

ConfigurationSettings 섹션의 서비스 정의 파일에서도 값없이 모든 설정 이름을 지정해야합니다.

<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> 

편집 :

그래서 ServiceDefinitionFile는 같아야합니다

당신이 당신의 Certificates 섹션해야 할 동일.

+0

내게는 ClientDiagnosticLevel에 대한 설정 만 추가하면됩니다. 감사합니다. – Ingrid

+2

Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString과 유사한 문제가 있습니다. 2.3은 신경 쓰지 않았고 2.7 SDK는 상관 없습니다. –

관련 문제