2015-05-01 22 views
1

這是我第一次遇到像這樣的東西。時間最長的,每當我想正是知道我使用下面的鏈接提供的指導該項目的類型:沒有項目在.CSProj文件中輸入Guid

How do you tell the Visual Studio project type from an existing Visual Studio project

,對我來說一直很大,到目前爲止。但是,我遇到了一個沒有提及ProjectType的項目。以下是用於參考的.csProj文件的XML。

<PropertyGroup> 
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 
    <ProjectGuid>{87F6C2DE-6074-4E6D-9854-51EC812F7548}</ProjectGuid> 
    <OutputType>Library</OutputType> 
    <AppDesignerFolder>Properties</AppDesignerFolder> 
    <RootNamespace>PL.HR.Services.Employee.DAL</RootNamespace> 
    <AssemblyName>PL.HR.Services.Employee.DAL</AssemblyName> 
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> 
    <FileAlignment>512</FileAlignment> 
    <SccProjectName>SAK</SccProjectName> 
    <SccLocalPath>SAK</SccLocalPath> 
    <SccAuxPath>SAK</SccAuxPath> 
    <SccProvider>SAK</SccProvider> 
    </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> 
    </PropertyGroup> 

我不知道怎麼能這樣呢

  • 是否有可能沒有任何人手動去除.csproj的文件類型的信息?
  • 如果不是,那麼VS在什麼情況下會發生?
  • 有什麼我們可以做的,以防止這種事件發生在未來?
+0

您是否有更多信息的示例?它是什麼類型的項目,它來自哪裏? –

+0

ProjectType guid啓用VS加載項。這只是一個簡單的類庫,除了文本編輯器外,它不需要任何東西。 –

回答

1

你只是在看xml還是實際使用VS提供的服務來獲取這些信息?

它真的是一個有效的.csproj?或者它只是名爲.csproj,所以VS打開它? VS實際打開它沒有錯誤?

某些類型的項目在項目文件(如C++項目)中不使用項目類型指令作爲xml元素,但通常不會以.csproj結尾。這些類型的項目可能以其他方式實現,這些方法在IVsHierarchyIVsAggregatableProject中實現,因此您需要從代碼中執行此操作,如鏈接答案中的一個頁面所述。

+0

我在原始問題中添加了XMl以供參考。但是,要回答你的問題。這是一個WCF服務,合同和實現是合理的。我可以清楚地看到合同項目的TypeGUID是WCF項目,但實現沒有ProjectTypeGuid。我最好打賭它可以是一個C#庫,但是一個視覺確認會比假設更好。 – TeaLeave

+0

我根本沒有看到類型guid,我看到一個項目guid,它只是項目本身的唯一標識符。你的意思是在解決方案(合同項目)中有*另一個*項目,它具有類型GUID集?我已經嘗試了一大堆WCF相關的項目,到目前爲止他們都包含了項目類型指導(至少*包含指示它是c#的guid,這是fae04ec0-301f-11d3-bf4b-00c04f79efbc。all的「服務」還包括指示他們是網絡項目的指導,即349c5851-65df-11da-9384-00065b846f21)這是什麼類型的項目? –

+0

是的,解決方案中有另一個項目是合同項目,並且其中一個項目類型爲Guid。這一個雖然沒有它。我包含的XML沒有Project類型Guid。 – TeaLeave