我添加了两页"添加\新项目"并选择"内容页面"。
XAML和后面的代码没有分组,.cs应该依赖于XAML。
这是VS 2017中的已知问题吗? 我花了很多时间更新工具只是为了发现它不起作用....我希望它在我的本地安装上有问题。
有人可以确认一下吗?
答案 0 :(得分:4)
这是由于当您切换到.NET Standard时 .csproj 文件的新方式。新的处理方式不是包含每个文件并描述每个文件应该如何嵌套,而是仅显式包含您要忽略的文件,并使用通配符来嵌套类似类型的所有文件。
因此,要解决此问题,您可以使用我在this站点中找到的以下方法,只需将以下内容添加到.NET Standard项目的 .csproj 文件中,然后删除任何显式包含遗留下来的行或者在将内容移到.NET Standard后添加的行:
<ItemGroup>
<!-- https://bugzilla.xamarin.com/show_bug.cgi?id=55591 -->
<None Remove="**\*.xaml" />
<Compile Update="**\*.xaml.cs" DependentUpon="%(Filename)" />
<EmbeddedResource Include="**\*.xaml" SubType="Designer" Generator="MSBuild:UpdateDesignTimeXaml" />
</ItemGroup>
所以上面说的是:
Build Action
设置为Compile
,并使它们依赖于要添加的文件的文件名(不含扩展)Build Action
设置为EmbeddedResource
并将其Custom Tool
属性设置为MSBuild:UpdateDesignTimeXaml
这复制了旧的 .csproj 文件如何描述每个文件,但只是使用通配符来表示不需要列出每个文件。
如果您还使用ReSharper,则错误会阻止智能感知工作,可以找到错误报告here。提到的一个解决方案是给Visual Studio而不是ReShaper提供XAML智能感知处理(尽管这并没有完全解决我的问题):