由于 NuGet 打包的巨大优势,我将 C# 库的 csproj
文件转换为新的 Visual Studio 2017 格式,如下所述:
Old csproj to new csproj: Visual Studio 2017 upgrade guide .
现在我的 WPF 用户控件的所有 xaml.cs
和 xaml
文件都单独并排显示,而不是在一个结构中 (xaml.cs
“内部”xaml
)。此外,我无法通过上下文菜单命令“查看代码”或“查看设计器”在它们之间切换。
我发现我可以通过在 csproj
文件中添加适当的条目来解决结构显示问题:
<Compile Include="SomeView.xaml.cs">
<DependentUpon>SomeView.xaml</DependentUpon>
</Compile>
保存 csproj
文件后,需要一两秒钟的时间,然后这两个项目在项目资源管理器 View 中可视化结构化。
不过,我仍然无法通过上下文菜单命令在它们之间切换。
此外,我在编译时收到错误 NETSDK1022
,告诉我那些编译元素现在加倍了(新项目格式会自动添加所有合适的文件)。可以通过将 EnableDefaultCompileItems
设置为 false
来禁用此机制,这是可行的。
是否有更好的方法来“绑定(bind)”xaml 及其新 VS2017 项目格式的代码隐藏文件?
(也许这就是为什么还没有为 window 项目发布新项目格式的问题之一……)
最佳答案
将 Include
替换为 Update
。
从你的角度出发
the new project format automatically adds all suitable files
因为这一点,通常更喜欢使用Update
而不是Include
。就是这个。
假设默认包含所有文件,当您使用“包含”一词时,您正在添加一个已经存在的文件。但是,如果您使用“更新”一词,则更新已包含的文件。
关于c# - 是否可以将 xaml.cs 连接到 VS2017 csproj 格式的相应 xaml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54220772/