基本上我遇到了与此(未答复)问题相同的问题:IOException was unhandled - Cannot locate resource app.xaml
当我在Visual Studio 2010中打开我的项目并开始调试时,我得到“IOException未处理:找不到资源app.xaml”。重建解决方案不起作用,我必须以某种方式修改我的app.xaml文件(例如添加一个空行),以便成功运行我的项目。
其他详情:
[assembly: InternalsVisibleTo("MyOtherProject")]
)我的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>
如果重要的话,我会从我的App类重写OnStartup方法来手动处理启动逻辑。我还在那里写了一个静态构造函数来从MVVM Light初始化DispatcherHelper:
public partial class App : Application
{
static App()
{
GalaSoft.MvvmLight.Threading.DispatcherHelper.Initialize();
}
...
}
任何帮助将不胜感激。如果您需要更多详细信息,请告诉我。
答案 0 :(得分:0)
当您更改项目的目标框架时,可能会发生这样的事情。您可以将项目重新创建为从一开始就以.Net 4为目标的新应用程序,并将所有代码文件添加为现有项目。
我想到的另一件事是app.xaml文件名的大小写。它可能在某些情况下区分大小写,而在其他情况下不区分大小写,所以您是否尝试过更改它?在我的系统上,默认情况下它是App.xaml。由于在错误消息中它是app.xaml,因此在使用文本编辑器对项目文件进行区分大小写搜索并将名称的所有出现更改为App.xaml时,可能是值得的。
答案 1 :(得分:0)
我不知道这是否是一个明确的解决方案,但它似乎到目前为止工作:
以前我有这样的事情:
<Compile Include="app.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
所以我修改了它,现在是:
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
我做的另一件事是寻找BootstrapperPackage并从那里删除旧版本的.Net Framework,但我不认为如果你的项目使用依赖旧版本.Net的库是个好主意。我不确定是不是也导致了这个问题。