Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 找不到';app.xaml';,IOException,直到修改app.xaml_C#_Wpf_Visual Studio 2010 - Fatal编程技术网

C# 找不到';app.xaml';,IOException,直到修改app.xaml

C# 找不到';app.xaml';,IOException,直到修改app.xaml,c#,wpf,visual-studio-2010,C#,Wpf,Visual Studio 2010,基本上,我的问题与这个(未回答的)问题相同: 当我在VisualStudio2010中打开我的项目并开始调试时,我得到“IOException未处理:找不到资源app.xaml”。重建解决方案不起作用,我必须以某种方式修改app.xaml文件(例如,添加一个空行),以便成功运行我的项目 其他详情: 我的解决方案由两个项目组成:我的主(WPF)应用程序和一个测试项目 我已经阅读了有关从VisualStudio2005转换解决方案的问题。这不是我的案子。我的项目最初是用VisualStudio20

基本上,我的问题与这个(未回答的)问题相同:

当我在VisualStudio2010中打开我的项目并开始调试时,我得到“IOException未处理:找不到资源app.xaml”。重建解决方案不起作用,我必须以某种方式修改app.xaml文件(例如,添加一个空行),以便成功运行我的项目

其他详情:

  • 我的解决方案由两个项目组成:我的主(WPF)应用程序和一个测试项目
  • 我已经阅读了有关从VisualStudio2005转换解决方案的问题。这不是我的案子。我的项目最初是用VisualStudio2010创建的。也许(我没有确切提醒)它有时是针对.Net Framework 3.5或.Net Framework 4.0客户端配置文件的,但它当前配置为与.Net Framework 4.0一起使用
  • 这两个项目都有不同的名称,如果这很重要的话。第一个名为MyApplicationName(程序集名称和默认命名空间),第二个名为MyApplicationName.Test(程序集名称和默认命名空间)
  • 我的主项目中的大多数类都是内部类(包括视图类),但我的应用程序类是公共类
  • 主项目向测试项目公开其内部组件(使用
    [程序集:InternalsVisibleTo(“MyOtherProject”)]
  • 我使用的是MVVM(带有MVVM灯),但我没有使用ViewModel‘解析器’/container/bootstrapper/MEF或相关的东西。我只是使用DataTemplates将我的ViewModels映射到它们各自的视图,并手动创建我的ViewModels(如果有必要的话)
  • My App.xaml包括其他三个xaml资源文件。我在此处包括我的App.xaml:

    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="Resources/StyleDictionary.xaml" />
                <ResourceDictionary Source="Resources/CommonResources.xaml" />
                <ResourceDictionary Source="Resources/ViewModelMappings.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
    


    • 当您更改项目的目标框架时,可能会发生类似的情况。您可以将项目重新创建为新的应用程序,从一开始就以.NET4为目标,并将所有代码文件添加为现有项


      我想到的另一件事是app.xaml文件名的大小写。它可能在某些上下文中区分大小写,而在其他上下文中不区分大小写,所以您是否尝试过更改它?在我的系统上,默认情况下它是App.xaml。由于错误消息中的名称是app.xaml,因此使用文本编辑器在项目文件中进行区分大小写的搜索并将所有出现的名称更改为app.xaml可能是值得的。

      我不知道这是否是一个确定的解决方案,但到目前为止它似乎仍在工作:

    • 用记事本打开csproj文件
    • 搜索App.xaml和App.xaml.cs。确保对此文件的每个引用都具有相同的大小写。这些文件名为App.xaml和App.xaml.cs,所以我留下了这样的引用
    • 以前我有过这样的经历:

      <Compile Include="app.xaml.cs">
        <DependentUpon>App.xaml</DependentUpon>
        <SubType>Code</SubType>
      </Compile>
      
      
      App.xaml
      代码
      
      所以我修改了它,现在它是:

      <Compile Include="App.xaml.cs">
        <DependentUpon>App.xaml</DependentUpon>
        <SubType>Code</SubType>
      </Compile>
      
      
      App.xaml
      代码
      

      我做的另一件事是查找BootstrapperPackage并从中删除.Net Framework的旧版本,不过如果您的项目使用依赖于.Net旧版本的库,我认为这不是一个好主意。我不确定这是否也是造成问题的原因。

      谢谢您的回答。是的,我想这就是我必须要做的。无论如何,我正试图找到一个更好的解释这个错误。我也在考虑区分大小写的app.xaml,但我的项目中没有“app.xaml”(区分大小写)匹配项。另外,这将非常违反直觉,因为我的安装也会创建App.xaml而不是App.xaml。无论如何,如果没有更好的理由,我将感激地接受你的回答:)可能的重复
      <Compile Include="App.xaml.cs">
        <DependentUpon>App.xaml</DependentUpon>
        <SubType>Code</SubType>
      </Compile>