【问题标题】:Windows Phone 7 - App doesn't start, no errors, just bails on loadWindows Phone 7 - 应用程序无法启动,没有错误,只是加载时退出
【发布时间】:2013-07-17 22:38:08
【问题描述】:

在准备发布我的手机应用程序时,我想我会更改所有程序集的版本号。

我还遇到了 WCF 服务客户端没有自动生成代理代码的问题,这是我提出的一个已知错误,MS 已为 vNext 修复,但我认为它不相关。无论如何,我对此进行了排序,并且确信这与我为发布所做的准备有关。

我的应用现在无法加载到模拟器或设备中。它只是在 CLR 引导期间爆炸,没有错误来帮助我。我很困惑,我用 MS 开启了十年来的第一个支持电话。

这是输出窗口的内容:

'taskhost.exe' (Managed): Loaded 'mscorlib.dll'
'taskhost.exe' (Managed): Loaded 'System.Windows.RuntimeHost.dll'
'taskhost.exe' (Managed): Loaded 'System.dll'
'taskhost.exe' (Managed): Loaded 'System.Windows.dll'
'taskhost.exe' (Managed): Loaded 'System.Core.dll'
'taskhost.exe' (Managed): Loaded 'System.Xml.dll'
'taskhost.exe' (Managed): Loaded '\Applications\Install\A2C90EB3-BF72-4317-B6FB-7D05843D6E15\Install\Company.Product.Mobile.WindowsPhoneUK.dll', Symbols loaded.
'taskhost.exe' (Managed): Loaded '\Applications\Install\A2C90EB3-BF72-4317-B6FB-7D05843D6E15\Install\Company.Product.Mobile.dll', Symbols loaded.
'taskhost.exe' (Managed): Loaded 'Microsoft.Phone.dll'
'taskhost.exe' (Managed): Loaded 'Microsoft.Phone.Interop.dll'
The thread '<No Name>' (0xc7e00a2) has exited with code 0 (0x0).
The thread '<No Name>' (0xcdd0076) has exited with code 0 (0x0).
The program '[232259726] taskhost.exe: Managed' has exited with code 0 (0x0).

看到了吗?没有错误!没什么可继续的。我不能在 blummin 手机上设置 Fusion 日志。

日志应该显示更多的程序集加载。我已经撤消了我的更改,版本号不再是自动的,我想不出我可能做过的任何其他事情会导致这种情况!

绝对需要源代码控制。

谢谢,卢克

【问题讨论】:

    标签: silverlight visual-studio-2010 windows-phone-7


    【解决方案1】:

    上周我遇到了同样的奇怪错误。

    在创建一个新的解决方案(构建和运行没有问题)后,我发现更改命名空间会导致错误。

    希望对你有帮助。

    【讨论】:

    • 这不是正确的答案,但它让我再次查看了应用程序“属性”页面中的所有内容。启动对象变空了!!当命名空间或应用程序名称等发生更改时,IDE 中的某些错误可能会重置它。 Grr。但是感谢 Gerben,你让我再次看到了那一点。
    • 感谢您的评论。如果我改变了我的命名空间,我现在也会去那里看看。
    • 这里也一样。命名空间更改导致启动对象被清除。
    【解决方案2】:

    查看您的 .csproj 文件。 就我而言,一切都是正确的,但在该文件中引用了项目的旧名称,例如 &lt;SilverlightAppEntry&gt;TheOldNamespace.App&lt;/SilverlightAppEntry&gt; 所以我只是将其更改为新的命名空间名称,现在它又可以工作了;)

    【讨论】:

    • 希望我能给你一个以上的支持。你为我避免了数小时的挫败感。
    【解决方案3】:

    通过重命名命名空间,您的项目属性会丢失启动对象。

    只需检查项目/“项目名称”属性/应用程序=>启动对象,它很可能是空的。

    向下滚动并为 Startup 选择新的 Namespace.Class 类型。

    希望对你有帮助。

    【讨论】:

    • 感谢您添加详细信息@trocca。我马上就找到了。包和 WMApp 清单中有几个地方有这个集合,我找不到它!
    【解决方案4】:

    我在这里发布作为参考,因为我花了几个小时来解决这个问题:我遇到了同样的问题,我必须进入 Assembly.cs 文件,然后确保以下元素具有空值:

    [assembly: AssemblyCulture("")]
    

    将文化信息放在那里(例如“en-US”)会使应用在启动时静默退出,没有任何异常或日志信息。

    在以下字段中留下文化信息没有问题:

    [assembly: NeutralResourcesLanguageAttribute("en-US")]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多