Ошибка повторной ссылки (C #) - PullRequest
0 голосов
/ 08 июля 2010

У меня CS1703, что является ошибкой дубликата ссылки. Но я определенно импортировал его только один раз, и я попытался удалить свою единственную реальную ссылку, и она все еще выбрасывается. Компилятор (VS2010) отказывается сообщить мне, где он думает, что другие ссылки, так как же я должен исправить ошибку?

Редактировать: Я посмотрел в свой .csproj, и там действительно было две ссылки. Я удалил один. Без изменений. Я нашел несколько ссылок с тем же PublicKeyToken, что и сообщение об ошибке. Я удалил их. Без изменений.

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{613BA79B-7832-47A9-A8EA-67FCB0350C45}</ProjectGuid>
    <ProjectTypeGuids>{82b43b9b-a64c-4715-b499-d71e9ca2bd60};{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>Microsoft.SimplePackage</RootNamespace>
    <AssemblyName>SimplePackage</AssemblyName>
    <SignAssembly>True</SignAssembly>
    <AssemblyOriginatorKeyFile>Key.snk</AssemblyOriginatorKeyFile>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <RunCodeAnalysis>true</RunCodeAnalysis>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="Microsoft.VisualStudio.OLE.Interop" />
    <Reference Include="Microsoft.VisualStudio.Shell.Interop" />
    <Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0" />
    <Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0" />
    <Reference Include="Microsoft.VisualStudio.Shell.Interop.10.0" />
    <Reference Include="Microsoft.VisualStudio.TextManager.Interop" />
    <Reference Include="Microsoft.VisualStudio.Shell.10.0">
      <Private>false</Private>
    </Reference>
    <Reference Include="Microsoft.VisualStudio.Shell.Immutable.10.0" />
    <Reference Include="System" />
    <Reference Include="System.Core" />
    <Reference Include="System.Data" />
    <Reference Include="System.Design" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <ItemGroup>
    <COMReference Include="EnvDTE">
      <Guid>{80CC9F66-E7D8-4DDD-85B6-D9E6CD0E93E2}</Guid>
      <VersionMajor>8</VersionMajor>
      <VersionMinor>0</VersionMinor>
      <Lcid>0</Lcid>
      <WrapperTool>primary</WrapperTool>
      <Isolated>False</Isolated>
      <EmbedInteropTypes>False</EmbedInteropTypes>
    </COMReference>
    <COMReference Include="EnvDTE100">
      <Guid>{26AD1324-4B7C-44BC-84F8-B86AED45729F}</Guid>
      <VersionMajor>10</VersionMajor>
      <VersionMinor>0</VersionMinor>
      <Lcid>0</Lcid>
      <WrapperTool>primary</WrapperTool>
      <Isolated>False</Isolated>
      <EmbedInteropTypes>False</EmbedInteropTypes>
    </COMReference>
    <COMReference Include="EnvDTE80">
      <Guid>{1A31287A-4D7D-413E-8E32-3B374931BD89}</Guid>
      <VersionMajor>8</VersionMajor>
      <VersionMinor>0</VersionMinor>
      <Lcid>0</Lcid>
      <WrapperTool>primary</WrapperTool>
      <Isolated>False</Isolated>
      <EmbedInteropTypes>False</EmbedInteropTypes>
    </COMReference>
    <COMReference Include="EnvDTE90">
      <Guid>{2CE2370E-D744-4936-A090-3FFFE667B0E1}</Guid>
      <VersionMajor>9</VersionMajor>
      <VersionMinor>0</VersionMinor>
      <Lcid>0</Lcid>
      <WrapperTool>primary</WrapperTool>
      <Isolated>False</Isolated>
      <EmbedInteropTypes>False</EmbedInteropTypes>
    </COMReference>
    <COMReference Include="Microsoft.VisualStudio.CommandBars">
      <Guid>{1CBA492E-7263-47BB-87FE-639000619B15}</Guid>
      <VersionMajor>8</VersionMajor>
      <VersionMinor>0</VersionMinor>
      <Lcid>0</Lcid>
      <WrapperTool>primary</WrapperTool>
      <Isolated>False</Isolated>
      <EmbedInteropTypes>False</EmbedInteropTypes>
    </COMReference>
    <COMReference Include="stdole">
      <Guid>{00020430-0000-0000-C000-000000000046}</Guid>
      <VersionMajor>2</VersionMajor>
      <VersionMinor>0</VersionMinor>
      <Lcid>0</Lcid>
      <WrapperTool>primary</WrapperTool>
      <Isolated>False</Isolated>
      <EmbedInteropTypes>False</EmbedInteropTypes>
    </COMReference>
  </ItemGroup>
  <ItemGroup>
    <Compile Include="Guids.cs" />
    <Compile Include="Resources.Designer.cs">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
    </Compile>
    <Compile Include="GlobalSuppressions.cs" />
    <Compile Include="SimplePackagePackage.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="SimpleProjectFactory.cs" />
    <None Include="Templates\Projects\SimpleProject\AssemblyInfo.cs" />
    <Content Include="Templates\Projects\SimpleProject\Program.cs">
      <IncludeInVSIX>true</IncludeInVSIX>
    </Content>
    <Content Include="Templates\Projects\SimpleProject\SimpleProject.wcproj">
      <IncludeInVSIX>true</IncludeInVSIX>
    </Content>
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Include="Resources.resx">
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
      <SubType>Designer</SubType>
    </EmbeddedResource>
    <EmbeddedResource Include="VSPackage.resx">
      <MergeWithCTO>true</MergeWithCTO>
      <ManifestResourceName>VSPackage</ManifestResourceName>
    </EmbeddedResource>
  </ItemGroup>
  <ItemGroup>
    <None Include="source.extension.vsixmanifest">
      <SubType>Designer</SubType>
    </None>
  </ItemGroup>
  <ItemGroup>
    <None Include="Key.snk" />
  </ItemGroup>
  <ItemGroup>
    <Content Include="Resources\Package.ico" />
    <Content Include="Templates\Projects\SimpleProject\SimpleProject.ico">
      <IncludeInVSIX>true</IncludeInVSIX>
    </Content>
  </ItemGroup>
  <PropertyGroup>
    <UseCodebase>true</UseCodebase>
    <ProjectBasePath>C:\MyLocalFolder\Project</ProjectBasePath>
  </PropertyGroup>
  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\VSSDK\Microsoft.VsSDK.targets" />
  <Import Project="$(ProjectBasePath)\ProjectBase.Files" />
  <!-- 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>

Вот файл моего проекта, если вам интересно. Я следую руководству по расширяемости в MSDN, поэтому оно выглядит немного иначе, чем обычный файл проекта.

Я ненавижу сборки. Пожалуйста, дорогой Бог, Microsoft, назови им что-нибудь ПОЛЕЗНОЕ.

Ответы [ 2 ]

4 голосов
/ 08 июля 2010

Откройте файл проекта (в Solution Explorer щелкните правой кнопкой мыши проект и выберите «unload», затем снова щелкните правой кнопкой мыши проект и выберите «edit file file ...»), пройдите xml и удалите все возможные ссылки вручную..

Кроме того, ссылки обычно «хранятся» с помощью guid - перед тем, как удалить узел, который задает имя сборки, найдите guid в файле проекта и посмотрите, нужно ли что-либо еще удалитьа также.

В качестве третьего измерения убедитесь, что вы не ссылались на пространство имен (например, для автоматического импорта) несколько раз в app / web.config.

Обновление: Я заметил, что вы опубликовали файл своего проекта.Внизу вы ссылаетесь на другой проект (ProjectBase.Files), который, я полагаю, тоже ваш.Выполните ту же проверку ошибок в этом проекте, поскольку ошибки этого типа иногда всплывают вперед и назад.

0 голосов
/ 10 июля 2010

теперь это не очень полезно, не так ли?включить диагностическую сборку, выполнить сборку и опубликовать командную строку csc, вы должны увидеть, какая ссылка передана компилятору 2 раза, просто

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...