ошибка в csproj - дубликат - PullRequest
       83

ошибка в csproj - дубликат

53 голосов
/ 27 декабря 2010

У меня ошибка из Visual Studio 2010:

Ошибка 1 Элемент «CrossDomainService.svc.cs» был указан более одного раза в параметре «Sources» Дублирующиеся элементы не поддерживаются параметром «Источники». WcfServiceDomain

и из msbuild

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Microsoft.CSharp.targets (160,9) : ошибка MSB3105: элемент "CrossDomainService.svc.cs" был указан более чем o В параметре «Источники». Дублирующиеся элементы не поддерживаются параметром «Источники». [C: \ Inetpub \ Wwwroot \ axaptaWcfConnection \ WcfServiceDomain \ WcfSer viceDomain.csproj]

Мой файл - csproj:

    <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>
    </ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{8D40933A-E036-4CD0-9003-314A692724D5}</ProjectGuid>
    <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>WcfServiceDomain</RootNamespace>
    <AssemblyName>WcfServiceDomain</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <TargetFrameworkProfile />
    <FileUpgradeFlags>
    </FileUpgradeFlags>
    <UpgradeBackupLocation>
    </UpgradeBackupLocation>
    <OldToolsVersion>4.0</OldToolsVersion>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <PlatformTarget>x86</PlatformTarget>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System.Web.ApplicationServices" />
    <Reference Include="System.Web.DynamicData" />
    <Reference Include="System.Web.Entity" />
    <Reference Include="System.Configuration" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.EnterpriseServices" />
    <Reference Include="System.Runtime.Serialization" />
    <Reference Include="System.ServiceModel" />
    <Reference Include="System.ServiceModel.Web" />
    <Reference Include="System.Web.Services" />
  </ItemGroup>
  <ItemGroup>
    <Content Include="ClientAccessPolicy.xml" />
    <Content Include="CrossDomainService.svc" />
    <Content Include="Service1.svc" />
    <Content Include="Web.config">
      <SubType>Designer</SubType>
    </Content>
    <Content Include="Web.Debug.config">
      <DependentUpon>Web.config</DependentUpon>
    </Content>
    <Content Include="Web.Release.config">
      <DependentUpon>Web.config</DependentUpon>
    </Content>
  </ItemGroup>
  <ItemGroup>
    <Compile Include="CrossDomainService.svc.cs">
      <DependentUpon>CrossDomainService.svc</DependentUpon>
    </Compile>
    <Compile Include="ICrossDomainService.cs" />
    <Compile Include="Service1.svc.cs">
      <DependentUpon>Service1.svc</DependentUpon>
    </Compile>
    <Compile Include="IService1.cs" />
    <Compile Include="Properties\AssemblyInfo.cs" />
  </ItemGroup>
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
        <WebProjectProperties>
          <UseIIS>False</UseIIS>
          <AutoAssignPort>True</AutoAssignPort>
          <DevelopmentServerPort>51421</DevelopmentServerPort>
          <DevelopmentServerVPath>/</DevelopmentServerVPath>
          <IISUrl>
          </IISUrl>
          <NTLMAuthentication>False</NTLMAuthentication>
          <UseCustomServer>False</UseCustomServer>
          <CustomServerUrl>
          </CustomServerUrl>
          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
</Project>

Я не вижу дубликатов: / Есть идеи из этой ошибки ??

Ответы [ 12 ]

93 голосов
/ 28 июня 2013

Я столкнулся с той же проблемой в моем решении с той же ошибкой для одного из исходных файлов,

Я исправил это следующим образом,

  1. Проверьте дляимя файла, для которого указана ошибка.

  2. Узнайте, в какой проект включен файл.

  3. Откройте файл .csproj дляэтот конкретный проект (этот файл можно найти в каталоге, в котором находится решение).

  4. Поиск имени файла, для которого выброшена ошибка, в файле .csproj.

  5. Вы найдете две записи в строке, такие как

 <Compile Include="duplicate.aspx.cs">
      <SubType>ASPXCodeBehind</SubType>
      <DependentUpon>Duplicate.aspx</DependentUpon>
    </Compile>


 <Compile Include="duplicate.aspx.cs">
      <SubType>ASPXCodeBehind</SubType>
      <DependentUpon>Duplicate.aspx</DependentUpon>
    </Compile>
  1. Удалить любую одну строкуот одного из них.

  2. Сохраните изменения.

  3. Перезагрузите проект, ваша ошибка должна быть устранена.

5 голосов
/ 10 июня 2013

Для тех, кто столкнулся с той же проблемой, им ничего не помогло, и они не хотят пересоздавать проект: попробуйте удалить файл YourPojectName.csproj.user. Это помогло мне. Ранее я модифицировал .csproj вручную, и модификация внесла (как-то), вероятно, некоторое расхождение в два файла.

4 голосов
/ 16 сентября 2011

Вы можете просто открыть решение в обычном текстовом редакторе и удалить дубликаты вручную

2 голосов
/ 31 мая 2016

Легко!Просто щелкните правой кнопкой мыши в своем проекте и выберите «Выгрузить проект»

Нажмите еще раз правой кнопкой мыши и edir your_project.csproj

Найдите дублирующийся тег для файла, упомянутого в сообщении об ошибке.

Сохранить и щелкнуть правой кнопкой мыши, чтобы выбрать «Обновить проект»

Right click

2 голосов
/ 09 февраля 2011

Я думаю, что столкнулся с той же проблемой не так давно. Решением было удалить подтип из web.config, т.е.:

<Content Include="Web.config">
  <SubType>Designer</SubType>
</Content>

Кому:

<Content Include="Web.config">
</Content>

Теперь, они были добавлены снова, я не уверен почему. Поиск дополнительной информации еще не прояснил ее. Увидеть: Дизайнер Добавлено, затем удалено Visual Studio при загрузке / выгрузке

1 голос
/ 31 января 2017

Откройте файл WcfServiceDomain.csproj в текстовом редакторе и найдите CrossDomainService.svc.cs

Это, вероятно, будет там дважды. Просто удалите одну из строк, и проект снова заработает.

1 голос
/ 26 июля 2011

У меня та же проблема, и решение состояло в том, чтобы сократить и очистить имя каталога (это было резервное имя, а дата и время разделены точкой с запятой).

0 голосов
/ 04 июня 2018

Для меня я выгружаю проект, Отредактируйте файл .csproj, поиск имени файла, который показывал по ошибке

<ItemGroup>
    <Compile Include="Controllers\BaseUserContext.cs" />
</ItemGroup>

Он не показывался несколько раз (BaseUserContext.cs), там был только 1 тег, поэтому я удалил его и работает без ошибок.

0 голосов
/ 16 мая 2017

Что я сделал, так это переименовал файл в вопросе.Затем почистил раствор (нажав на Build> Clean Solution).Затем построил решение.

Затем переименовал файл в исходное имя файла.Затем очистил решение и построил решение снова.

Это сработало для меня.Я не знаю, сработает ли это для вас.

0 голосов
/ 31 марта 2017

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

После этого мне пришлось отменить ожидающие изменения, так как файлы пропали без вести, но после повторной сборки это сработало.

...