由于 NuGet 打包的巨大优势,我将csprojC# 库的文件转换为新的 Visual Studio 2017 格式,如下所述: 旧 csproj 到新 csproj:Visual Studio 2017 升级指南。现在我的 WPF 用户控件的所有xaml.cs和xaml文件都并排分开显示,而不是在一个结构中(xaml.cs“内部” xaml)。此外,我无法通过上下文菜单命令“查看代码”或“查看设计器”在它们之间切换。我发现我可以通过在csproj文件中添加适当的条目来解决结构显示:<Compile Include="SomeView.xaml.cs">
<DependentUpon>SomeView.xaml</DependentUpon></Compile>保存csproj文件后,需要一两秒钟,然后这两个项目在项目浏览器视图中可视化。不过,我仍然无法通过上下文菜单命令在它们之间切换。此外,我NETSDK1022在编译时收到错误,告诉那些编译元素现在加倍(新的项目格式会自动添加所有合适的文件)。可以通过设置为 禁用此机制EnableDefaultCompileItems,该机制false有效。有没有更好的方法来“绑定”xaml 及其新的 VS2017 项目格式的代码隐藏文件?(也许这就是为什么新的项目格式还没有为窗口项目发布的问题之一......)
2 回答
白衣非少年
TA贡献1155条经验 获得超0个赞
替换Include
为Update
。
从你的角度出发
新的项目格式会自动添加所有合适的文件
因为这点,通常更喜欢用Update
代替Include
. 只是这个。
假设默认情况下包含所有文件,当您使用“包含”一词时,您正在添加一个已经存在的文件。但是,如果您使用“更新”一词,则会更新已包含的文件。
哆啦的时光机
TA贡献1779条经验 获得超6个赞
我不认为针对 .NET Framework 的 WPF 项目正式支持切换到新的项目格式。但是,当您以 .NET Core 3 为目标时,Visual Studio 2019 将支持它。
这个新的SDK 使用预览中可用Microsoft.NET.Sdk.WindowsDesktop的以下最小文件构建 .NET Core WPF 项目,包括 XAML 文件:.csproj
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWPF>true</UseWPF>
</PropertyGroup>
</Project>
请参阅此博客文章了解更多信息。
- 2 回答
- 0 关注
- 79 浏览
添加回答
举报
0/150
提交
取消