我刚刚在Windows上安装了带有Xamarin的VS2015,我遵循了快速指南:https://developer.xamarin.com/guides/xamarin-forms/getting-started/hello-xamarin-forms/quickstart/
首先,.xaml.cs文件在InitializeComponent()中有很多错误,并且对.xaml文件中的项目的每次其他引用都像Buttons和Entry一样,就好像它们找不到一样。
我认为这是一个命名空间问题而且两个文件彼此都没有意识到,在尝试了很多东西之后我改变了.xaml文件中的“Class”属性,保存了它并且在意识到它没有解决之后问题,我把它改回原来的名字空间x:Class =“Phoneword.MainPage”,保存后,所有错误都消失了。
耶!我很高兴,我认为这只是第一个构建问题,但现在每次移动文件或创建新文件时,我都遇到同样的问题。即使我只在另一个目录中创建一个资源文件。每一次,唯一的解决方法是执行我刚才描述的相同程序。
清洁项目时也会发生这种情况。
真烦人,我不知道当我有更多的xaml文件时会发生什么。
知道如何解决或者为什么会发生这种情况?
由于
答案 0 :(得分:2)
知道如何解决或者为什么会发生这种情况?
作为一种解决方法,目前,您可以手动编辑.csproj
以保持XAML与设计器文件之间的连接。
例如:
<Compile Include="Pages\QuestionPage.xaml.cs">
<DependentUpon>QuestionPage.xaml</DependentUpon>
</Compile>
填写错误
答案 1 :(得分:0)
我提出了一个我非常喜欢的解决方案,您可以根据自己的需要/愿望进行自定义。
对我来说,我不仅希望Foo.xaml.cs
文件位于Foo.xaml
下,还希望相关FooViewModel.cs
。
这里有一个要点:https://gist.github.com/maxcalvin/9590e87eec0fd576f94539357930f859
但它的要点与Prashant之前的回答类似:
<ItemGroup>
<Compile Update="**\*ViewModel.cs">
<DependentUpon>$([System.Text.RegularExpressions.Regex]::Replace(%(Identity), "ViewModel.cs", ".xaml"))</DependentUpon>
</Compile>
<Compile Update="**\*.xaml.cs">
<DependentUpon>$([System.Text.RegularExpressions.Regex]::Replace(%(Identity), ".cs", ""))</DependentUpon>
</Compile>
</ItemGroup>
答案 2 :(得分:0)
删除bin和obj文件夹。卸载项目并重新加载。清洁并重建解决方案。从vs2015移至vs2017时我们发现了这个问题
答案 3 :(得分:0)
我只需卸载并重新加载解决方案中的PCL(便携式类库),即可解决问题。