0

我已经建立了一个应该在本地运行我的天蓝色项目的环境。

它从一个简单的批处理文件开始:

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 调试时运行,甚至在我在另一台服务器上运行相同的批处理脚本时也可以运行。

提前致谢!

4

1 回答 1

1

我找到了解决方案!

该错误是由尝试通过 azure 诊断激活 WCF-Tracing 引起的。正如在堆栈跟踪中看到的那样,“System.ServiceModel”(对于任何不知道它是 WCF 的一部分的人)出现了问题,这是由我的 web.config 中的错误引起的。最重要的是,我还忘记了我的脚本指向使用“Release”-buildconfiguration 编译的构建,而我实际上是使用“Debug”配置编译的。

于 2012-05-09T11:52:36.773 回答