每次移动或添加新文件时,.xaml和.xaml.cs文件之间的连接都会丢失

时间:2016-04-11 02:20:09

标签: xaml xamarin

我刚刚在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文件时会发生什么。

知道如何解决或者为什么会发生这种情况?

由于

4 个答案:

答案 0 :(得分:2)

  

知道如何解决或者为什么会发生这种情况?

作为一种解决方法,目前,您可以手动编辑.csproj以保持XAML与设计器文件之间的连接。

例如:

<Compile Include="Pages\QuestionPage.xaml.cs">
  <DependentUpon>QuestionPage.xaml</DependentUpon>
</Compile>

我建议在https://bugzilla.xamarin.com/newbug

填写错误

答案 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(便携式类库),即可解决问题。