我已经建立了一个应该在本地运行我的azure项目的环境。
首先是一个简单的批处理文件:
E:
cd "E:\Procurement\Source\Procurement\trunk\Azure_Procurement\Azure_Procurement"
MSBuild.exe Azure_Procurement.ccproj /p:PackageForComputeEmulator=true /p:PackageWebRole=False
MSBuild.exe Azure_Procurement.ccproj /t:Publish
"C:\Program Files\Windows Azure Emulator\emulator\CSRun.exe" "E:\Procurement\Source\Procurement\trunk\Azure_Procurement\Azure_Procurement\csx\Release" "E:\Procurement\Source\Procurement\trunk\Azure_Procurement\Azure_Procurement\bin\Release\ServiceConfiguration.cscfg"
当我运行此文件时,我的项目被编译并部署到iis。 但是,几秒钟后,模拟主机崩溃,我设法得到以下信息:
Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: waiishost.exe
Problem Signature 02: 1.6.0.0
Problem Signature 03: 4eb3102e
Problem Signature 04: System.ServiceModel
Problem Signature 05: 4.0.0.0
Problem Signature 06: 4d930801
Problem Signature 07: 573e
Problem Signature 08: 1bd
Problem Signature 09: KFM023AO4DTNWT0EKMSKUWE5BRORH3FC
OS Version: 6.1.7601.2.1.0.272.7
Locale ID: 1053
Additional Information 1: af3a
Additional Information 2: af3a02be113369c664147fe8f0201429
Additional Information 3: 9edf
Additional Information 4: 9edf9a509c5231db61e45a805b3d35ff
异常消息: 方法因意外错误代码3而失败。
Stack Trace:
at System.Security.AccessControl.NativeObjectSecurity.CreateInternal(ResourceType resourceType, Boolean isContainer, String name, SafeHandle handle, AccessControlSections includeSections, Boolean createByName, ExceptionFromErrorCode exceptionFromErrorCode, Object exceptionContext)
at System.Security.AccessControl.DirectorySecurity..ctor(String name, AccessControlSections includeSections)
at System.IO.DirectoryInfo.GetAccessControl(AccessControlSections includeSections)
at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.FileManager.AddAllowAceIterative(DirectoryInfo dir, FileSystemRights rights, IdentityReference[] accounts)
at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.FileManager.AddAllowAce(DirectoryInfo dir, FileSystemRights rights, Boolean inherit, IdentityReference[] accounts)
at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.Security.AddAppPoolSidAceToVdir(String appPoolName, String sitePath, String appPoolSid)
at Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.IISConfigurator.Deploy(String roleId, WebAppModel appModel, String roleRootDirectory, String sitesDestinationDirectory, String diagnosticsRootFolder, String roleGuid, Dictionary`2 globalEnvironment)
at SyncInvokeDeploy(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
当我使用visual studio调试它时,项目运行,当我在另一台服务器上运行相同的批处理脚本时它甚至可以工作。
提前致谢!
答案 0 :(得分:1)
我找到了解决方案!
该错误是由尝试通过azure诊断激活WCF跟踪引起的。 正如在堆栈跟踪中看到的那样,“System.ServiceModel”(对于任何不知道的人都是WCF的一部分)出错了,这是由我的web.config中的错误引起的。 除此之外,我还忘记了我的脚本指向使用“Release”-buildconfiguration编译的构建,而我实际上正在使用“Debug”配置进行编译。