Visual Studio 2017 Designer Не удается найти пользовательский элемент управления - PullRequest
0 голосов
/ 26 мая 2019

Проект в большом решении имеет две формы, A и B. B происходит от A. Я могу вызвать дизайнера для A, но когда я пытаюсь проектировать B, дизайнер говорит, что он не может найти A.Проект компилируется и отлично работает.

Это не было проблемой, пока я не установил недавнее обновление до VS 2017. Я только что установил 15.9.12, и проблема сохраняется.Он ведет себя так же, как и в VS 2019.

Я получаю это сообщение: «Невозможно отобразить конструктор для этого файла, поскольку ни один из классов внутри него не может быть разработан.: (B) --- Базовый класс '(A)' не может быть загружен. Убедитесь, что на сборку ссылались и что все проекты были построены. "

У меня похожая проблема с другим проектом,в котором пользовательский элемент управления (A) проектируется идеально, но при разработке другого пользовательского элемента управления (в том же проекте), содержащего A, я получаю следующее сообщение: «Не удалось найти тип« (A) ». Убедитесь, что сборка, котораясодержит ссылки на этот тип. Если этот тип является частью вашего проекта разработки, убедитесь, что проект был успешно построен с использованием настроек для вашей текущей платформы или любого процессора. "

Я также заметил, что A не являетсядоступно в ToolBox для этого проекта, который, я полагаю, уместен.

Кто-нибудь знает, почему класс в одном проJect не может найти класс в том же проекте?Это не имеет никакого смысла для меня.Существует несколько проектов, в которых существует такая проблема.

В нем задействовано много кода, и я не понимаю, как это может быть полезно, так как проблема, похоже, связана с конструктором., но я могу опубликовать код, если кто-то думает, что это будет полезно.

Я публикую содержимое .csproj, если это будет полезно, и объявление класса fmShout, формы, которую дизайнер не может показать.

Вот объявление: publicчастичный класс fmShout: fmBaseForAutoFlash {

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">x64</Platform>
    <ProjectGuid>{188FA8B2-F290-402C-9ABB-C3B02CCF5E85}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>BaseOther</RootNamespace>
    <AssemblyName>BaseOther</AssemblyName>
    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <TargetFrameworkProfile />
    <NuGetPackageImportStamp>
    </NuGetPackageImportStamp>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <DebugType>full</DebugType>
    <PlatformTarget>x64</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <Optimize>true</Optimize>
    <DebugType>pdbonly</DebugType>
    <PlatformTarget>x64</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="CesUtilities, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>..\..\..\CesLibraries\CesUtilities\bin\Release\CesUtilities.dll</HintPath>
    </Reference>
    <Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
      <HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.dll</HintPath>
    </Reference>
    <Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
      <HintPath>..\packages\EntityFramework.6.2.0\lib\net45\EntityFramework.SqlServer.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Data.SQLite, Version=1.0.110.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
      <HintPath>..\packages\System.Data.SQLite.Core.1.0.110.0\lib\net46\System.Data.SQLite.dll</HintPath>
    </Reference>
    <Reference Include="System.Data.SQLite.EF6, Version=1.0.110.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
      <HintPath>..\packages\System.Data.SQLite.EF6.1.0.110.0\lib\net46\System.Data.SQLite.EF6.dll</HintPath>
    </Reference>
    <Reference Include="System.Data.SQLite.Linq, Version=1.0.110.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
      <HintPath>..\packages\System.Data.SQLite.Linq.1.0.110.0\lib\net46\System.Data.SQLite.Linq.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.Windows.Forms" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="cAfEMail.cs" />
    <Compile Include="cG.cs" />
    <Compile Include="cHandleKeys.cs" />
    <Compile Include="cOptionSet.cs" />
    <Compile Include="fmBaseForAutoFlash.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="fmBaseForAutoFlash.Designer.cs">
      <DependentUpon>fmBaseForAutoFlash.cs</DependentUpon>
    </Compile>
    <Compile Include="fmShout.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="fmShout.Designer.cs">
      <DependentUpon>fmShout.cs</DependentUpon>
    </Compile>
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="Properties\Resources.Designer.cs">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <None Include="app.config" />
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Include="fmBaseForAutoFlash.resx">
      <DependentUpon>fmBaseForAutoFlash.cs</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="fmShout.resx">
      <DependentUpon>fmShout.cs</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="Properties\Resources.resx">
      <Generator>PublicResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
    </EmbeddedResource>
  </ItemGroup>
  <ItemGroup>
    <None Include="packages.config" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="Resources\" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\BaseDataAccess\BaseDataAccess.csproj">
      <Project>{bce171ea-a58c-4bc9-bf87-4f7b626a8609}</Project>
      <Name>BaseDataAccess</Name>
    </ProjectReference>
    <ProjectReference Include="..\BaseData\BaseData.csproj">
      <Project>{637c5f94-81e2-4795-aae1-71562378470e}</Project>
      <Name>BaseData</Name>
    </ProjectReference>
    <ProjectReference Include="..\Base\Base.csproj">
      <Project>{ce828c0e-5cdd-4fcc-8ada-2e03173084d4}</Project>
      <Name>Base</Name>
    </ProjectReference>
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  <Import Project="..\packages\System.Data.SQLite.Core.1.0.110.0\build\net46\System.Data.SQLite.Core.targets" Condition="Exists('..\packages\System.Data.SQLite.Core.1.0.110.0\build\net46\System.Data.SQLite.Core.targets')" />
  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
    </PropertyGroup>
    <Error Condition="!Exists('..\packages\System.Data.SQLite.Core.1.0.110.0\build\net46\System.Data.SQLite.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\System.Data.SQLite.Core.1.0.110.0\build\net46\System.Data.SQLite.Core.targets'))" />
  </Target>
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
       Other similar extension points exist, see Microsoft.Common.targets.
  <Target Name="BeforeBuild">
  </Target>
  <Target Name="AfterBuild">
  </Target>
  -->
</Project>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...