首先,我查看了StackOverflow.com上的其他相关文章,更改csproj文件中的路径对此警告没有任何影响,如下所示。参考资料:为什么在项目文件中找不到这个警告.cs文件?和And:如何连接xaml和xaml.cs文件?
我得到了相当于MainWindow.xaml和MainWindow.xaml.cs的东西。我决定将这两个文件都移动到视图文件夹中,因为我不喜欢主窗口视图与csproj文件一起浮动,以及App.xaml/App.xaml.cs文件。
基本上:
视图/MainWindow.xaml
视图/MainWindow.xaml.cs
所以我的第一个问题是:这是不允许的吗?是否要求MainWindow.xaml & MainWindow.xaml.cs文件与csproj文件位于同一个位置?
第二个问题:如果没有,那么我还错过了什么,因为我很确定所有的路径设置都是正确的。
<Page Include="Views\TimersHost.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Compile Include="Views\TimersHost.xaml.cs">
<DependentUpon>Views\TimersHost.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
我甚至将它们放在相同的标记中,这样编译器就没有混淆的余地了,但是编译器仍然在抱怨:父文件'Views\TimersHost.xaml',因为文件'Views\TimersHost.xaml.cs‘在项目文件中找不到。
实际上,警告似乎表明找不到MainWindow.xaml的父文件,但在技术上没有父文件,除非它指的是csproj文件本身,这就是为什么我问我们是否要求MainWindow.xaml位于与csproj文件相同的位置。
例如,在这篇文章中提到,MainWindow.xaml应该放在Views文件夹中,这就是我要做的:WPF中MVVM的项目结构
所以我很确定我只是遗漏了一些东西,但我不知道它可能是什么,也不知道从哪里开始寻找。甚至我在StartupUri中的App.xaml也被正确地设置为指向文件:
<Application
x:Class="TimersXP.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="Views/TimersHost.xaml"
/>
也许在TimersHost.xaml文件中,我需要为类指定路径?X:Class=“视图/TimersXP.Timershost”....No没有任何意义,也不起作用。
这是一个开源项目,下面是完整的csproj文件源代码:http://timersxp.codeplex.com/SourceControl/latest#VS2013/TimersXP/TimersXP.csproj (最新版本是当前版本)
https://stackoverflow.com/questions/21531950
复制相似问题