我在visual studio 2010中遇到错误:
错误1在“Sources”参数中多次指定“CrossDomainService.svc.cs”项。 “Sources”参数不支持重复项。 WcfServiceDomain
来自msbuild
C:\的Windows \ Microsoft.NET \框架\ v4.0.30319 \ Microsoft.CSharp.targets(160,9) :错误MSB3105:项目“CrossDomainService.svc.cs”被指定为o以上 nce在“Sources”参数中。 “Sources”参数不支持重复项。 [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>
我没有看到任何重复:/这个错误的任何想法?
答案 0 :(得分:92)
我在解决方案中面临同样的问题,其中一个源文件
出现相同的错误我按如下方式解决了这个问题,
检查给出错误的文件名。
找出文件所在的项目。
打开该特定项目的.csproj文件(此文件可在放置解决方案的目录中找到)。
搜索.csproj文件中引发错误的文件名。
您会找到该行的两个条目,例如
<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 :(得分:5)
对于遇到相同问题的人,没有任何帮助他们,他们不想重新创建项目:尝试删除YourPojectName.csproj.user文件。它帮助了我。我之前手动修改了.csproj,并且引入了修改(不知何故)可能与这两个文件存在一些差异。
答案 2 :(得分:4)
您可以在常规文本编辑器中打开解决方案并手动删除重复
答案 3 :(得分:2)
我想我不久前遇到了同样的问题。 解决方案是从web.config中删除子类型,即:
<Content Include="Web.config">
<SubType>Designer</SubType>
</Content>
要:
<Content Include="Web.config">
</Content>
现在,那些已经再次添加,我不知道为什么。搜索更多信息尚未清除。 看到: <Subtype>Designer</Subtype> Added then removed by Visual Studio on load/unload
答案 4 :(得分:2)
轻松! 恰好在您的项目中使用clic并选择&#34;卸载项目&#34;
再次右clic和edir your_project.csproj
在重复的标记中搜索错误消息中提到的文件。
保存并右键选择&#34;重新加载项目&#34;
答案 5 :(得分:1)
我遇到了同样的问题,解决方法是缩短和清理目录名称(它是备份名称,日期和时间用分号分隔)。
答案 6 :(得分:1)
使用文本编辑器打开文件WcfServiceDomain.csproj
,然后查找CrossDomainService.svc.cs
它可能会在那里两次。只需删除其中一行,项目即可再次使用。
答案 7 :(得分:1)
从cproj文件中查看以下示例。 Class.cs
Include
已由其下面的通配符Include
处理,因此Include
已被删除两次。您显然想丢失特定的Class.cs
Include
。
<Compile Include="..\Folder\Class.cs">
<Link>Class.cs</Link>
</Compile>
<!-- lots of things in between ...scroll scroll scroll -->
<Compile Include="..\Folder\*.*">
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
</Compile>
答案 8 :(得分:0)
我不得不从项目中删除该类并再次重新创建它以解决此问题。
答案 9 :(得分:0)
我解决这个问题的方法是转到错误中包含文件的位置,发现有两个相同的文件。删除其中一个,它应该工作。
之后我不得不撤消挂起的更改,因为文件随后丢失了,但重新构建后它才有效。
答案 10 :(得分:0)
我所做的是我重命名了相关文件。然后清理解决方案(通过单击Build&gt; Clean Solution)。然后构建解决方案。
然后将文件重命名为原始文件名。然后清理解决方案并再次构建解决方案。
它对我有用。我不知道它是否适合你。
答案 11 :(得分:0)
对我来说,我卸载了项目, 编辑.csproj文件, 搜索错误显示的文件名
<ItemGroup>
<Compile Include="Controllers\BaseUserContext.cs" />
</ItemGroup>
&#13;
它没有多次显示(BaseUserContext.cs),只有1个标签,所以我将其删除并且没有错误。
答案 12 :(得分:0)
我知道这是旧帖子,但是我发现了这种更好的解决方案,可以帮助当前遇到此问题的其他人。
在return <div className={`now it ${works}`}> Hello World </div>
中,选择错误中指定的文件
消息或包含这些文件的文件夹。
Solution Explorer
,然后选择Right-click
。
单击Exclude From Project
按钮。
再次选择文件或文件夹,Refresh
,然后选择right-click
。
答案 13 :(得分:0)
错误消息中的主要线索是-“来源”。 .csproj文件中的配置错误,构建目标已导入两次。它通常在导入下位于.csproj文件的末尾。文件名有点误导,我在寻找文件名时,在整个项目文件中只能找到一次。当我查看导入内容时,我已经与此类似;
<Import Project="..\..\LonestarWeb\packages\Telerik.Sitefinity.Feather.10.2.6651\build\Telerik.Sitefinity.Feather.targets" Condition="Exists('..\..\LonestarWeb\packages\Telerik.Sitefinity.Feather.10.2.6651\build\Telerik.Sitefinity.Feather.targets')" />
<Import Project="\packages\Telerik.Sitefinity.Feather.10.2.6651\build\Telerik.Sitefinity.Feather.targets" Condition="Exists('..\..\LonestarWeb\packages\Telerik.Sitefinity.Feather.10.2.6651\build\Telerik.Sitefinity.Feather.targets')" />
删除不需要的那个。重新加载解决方案,您现在可以进行编译。
答案 14 :(得分:0)
我有一个类似的问题。我第一次在机器上打开了一个已经存在的VS解决方案。此VS解决方案不是由人为创造的,而是使用Swagger-Editor从openAPI规范生成的。
最初,该解决方案根本没有任何问题。我可以构建解决方案,也可以运行代码。我将新类添加到解决方案的任何项目中后,实际的问题就出现了(只是:“右键单击”>“添加”>“新项目”>“类”)。无论我为新类选择什么名称,我总是会遇到编译器错误
在“ Sources”参数中多次指定了“ MyNewClass.cs”项。 “来源”参数不支持重复项。
我删除课程后,一切都恢复正常。
除了VS之外,我的机器上还有JetBrains Rider(2020.1)。因此,我在Rider中打开了相同的解决方案,并添加了一个新类。在Rider中,未出现错误。我可以根据需要添加任意多个类。
最后,它归结为通配符,因为上面的答案中已经提到了“ CAD bloke”。
上述Swagger-Editor生成的原始解决方案的.csproj文件中包含以下XML:
<ItemGroup>
<Compile Include="**\*.cs" Exclude="obj\**" />
</ItemGroup>
如果我使用VS添加一个新类,它将变成这个,进而导致错误:
<ItemGroup>
<Compile Include="**\*.cs" Exclude="obj\**" />
<Compile Include="Api\NewClass.cs" />
</ItemGroup>
VS无法识别使用的通配符。如果我使用Rider添加类,则不会添加其他<Compile Include="Api\NewClass.cs" />
。骑士知道通配符!
JetBrains的家伙似乎比Microsoft更擅长处理Microsoft的csproj格式。
最终要解决此问题,我从项目中排除了所有源文件(“右键单击”>“从项目中排除”)。然后,我关闭了解决方案,并在文本编辑器中打开了.csproj文件。我从.csproj文件中删除了<Compile Include="**\*.cs" Exclude="obj\**" />
。删除该行之后,我在VS中再次打开了解决方案,并再次包含了所有源文件(“显示所有文件”(在解决方案资源管理器中)>“右键单击”>“包含在项目中”)。
现在,所有文件都定义为
<ItemGroup>
<Compile Include="Api\NewClass.cs" />
<Compile Include="Api\SecondClass.cs" />
<Compile Include="Api\ThirdClass.cs" />
...
</ItemGroup>
.csproj文件中。
答案 15 :(得分:-1)
只有解决方案是重新创建项目:/