vs2015 的html怎么打开设计视图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs2015 的html怎么打开设计视图相关的知识,希望对你有一定的参考价值。

你要打开设计视图干嘛,在编辑器里面最好不要看设计视图,因为这不代表着最终的表现形式!你可以找到该html文件,右键在浏览器中查看最终的表现形式,或者按F5调试在浏览器中查看,你硬要看好像在编辑器的左下角有一个切换的 参考技术A 你要打开设计视图干嘛,在编辑器里面最好不要看设计视图,因为这不代表着最终的表现形式!你可以找到该HTML文件,右键在浏览器中查看最终的表现形式,或者按F5调试在浏览器中查看,你硬要看好像在编辑器的左下角有一个切换的

使用框架 4.7.2 运行 SDK 项目的 vs2019 中的控件和表单缺少图标和视图设计器选项

【中文标题】使用框架 4.7.2 运行 SDK 项目的 vs2019 中的控件和表单缺少图标和视图设计器选项【英文标题】:controls and forms missing icon and view designer option in vs2019 running SDK project with framework 4.7.2 【发布时间】:2021-11-20 00:14:33 【问题描述】:

到目前为止的总结答案:如果 csproj.user 文件存在,表单和控件仅在设计器中打开。

问题故事:

我有 2 个控件都继承自基本控件。 但是,解决方案资源管理器中缺少控制图标

好的控制源码从

开始
public partial class UniTabMaterialsControl : UnitabBaseControl

    public UniTabMaterialsControl()
    
        InitializeComponent();
    

坏控制源以

开头
public partial class UniTabMaterialsControl : UnitabBaseControl

     
    public UniTabMaterialsControl()
    
        InitializeComponent();
    

基本控制类是

public class UnitabBaseControl : UserControl


我已尝试关闭并重新打开 Visual Studio

[更新]

我添加了一个新的用户控件并将其设置为也从 UnitabBaseControl 继承,奇怪的是行为已纠正。

然后我能够删除新控件并保持正确的行为

Git 显示 UnitabBaseControl.cs 发生了变化,但除了 UserControl 文本的颜色之外,我没有看到其他变化

然后我对整个解决方案进行了全新克隆。 这次从 UnitabBaseControl 继承的所有控件都显示了错误的行为

[更新]

现在我遇到了同样的表单问题

using System.Windows.Forms;

namespace SBD.VivSnap.UI

    public partial class Form1 : Form
    
        public Form1()
        
            InitializeComponent();
        
    

using System.Windows.Forms;

namespace SBD.VivSnap.UI

    public partial class Form2 : Form
    
        public Form2()
        
            InitializeComponent();
        
    

[更新]

我忘了提到我的项目是启动项目所引用的库项目。

我在启动项目中删除然后重新添加了库项目引用。然后所有的表单和控件都正确显示了。

我在 Git 中找不到任何更改来说明解决方案现在起作用的原因。

从那以后我注意到我的主要项目中的问题

[更新]

事实证明我的项目是 .sdk 格式,即使它是框架 4.7.2 我想这可能与它有关。

我正在使用Framework 4.7.2 with an sdk project

Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"

我在另一台运行 VS2019 16.1.4 的计算机上检查了代码,它构建正常。

我正在使用 16.11.4

[更新] 现在我已经更新到 16.11.5 并再次克隆,但仍然有问题。

[更新] 项目文件是

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  <PropertyGroup>
    <TargetFramework>net472</TargetFramework>
    <OutputType>WinExe</OutputType>
    <AssemblyName>Main</AssemblyName>
    <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
    <RestorePackages>true</RestorePackages>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
    <UseWindowsForms>true</UseWindowsForms>
  </PropertyGroup>
  <PropertyGroup>
    <StartupObject>SBD.VivSnap.Main.Program</StartupObject>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
    <PackageReference Include="Microsoft.Data.SqlClient">
      <Version>2.0.1</Version>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore">
      <Version>3.1.12</Version>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer">
      <Version>3.1.12</Version>
    </PackageReference>
    <PackageReference Include="NuGet.Build.Tasks.Pack" Version="5.7.0">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
    <PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\SnapInUI\SBD.VivSnap.UI.csproj" />
  </ItemGroup>
  <ItemGroup>
    <Compile Update="Properties\Settings.Designer.cs">
      <DesignTimeSharedInput>True</DesignTimeSharedInput>
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <None Update="Properties\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
    </None>
  </ItemGroup>
</Project>

csproj.user 文件在我的回答中。

【问题讨论】:

【参考方案1】:

表单的编译类型可能在 .csproj 文件中未正确设置为“表单”。 打开 .csproj 文件并确保在提到“form1.cs”的任何地方都有这行代码:

<Compile Include="form1.cs">
      <SubType>Form</SubType>
    </Compile>

【讨论】:

我很抱歉我没有提到我正在为项目使用 Sdk 格式。我更新了问题。 这是在正确的轨道上。我能够从 csproj.user 复制到 csproj 并且设计师现在可以工作了。现在修复相关项目中的控件。 我同样能够使用 UserControl 修复其他项目中的控件 天知道项目文件是如何损坏的。【参考方案2】:

原来 csproj.user 文件不在源代码管理中。 当我将 myproject.csproj.user 复制到项目文件夹并在 VS 中打开时,表单正确显示。

文件内容是

<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup />
  <ItemGroup>
    <Compile Update="Form1.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="Form2.cs">
      <SubType>Form</SubType>
    </Compile>
  </ItemGroup>
</Project>

这让我陷入了是否将 csproj.user 签入源代码控制的两难境地。我以前认为这不是必需的,但似乎确实如此。加上名称“用户”将暗示它是特定于用户的。

【讨论】:

正如另一个答案所建议的,我也认为这应该在普通的.csproj中。提交 .csproj.user 是个坏主意,因为它(最终)包含用户特定的调试信息(例如使用的参数或启动文件的绝对路径)。

以上是关于vs2015 的html怎么打开设计视图的主要内容,如果未能解决你的问题,请参考以下文章

VS2015 装了DEVexpress,怎么进入窗口设计程序

请问如何在vs2010中点开c#的aspx文件的视图设计器

VS2010怎样打开VS2013或者VS2015建立的工程

VS 打开exe文件怎么查看资源视图?

VS2010怎样打开VS2013或者VS2015建立的工程

VS2013默认打开html文件没有设计视图的解决办法