web-dev-qa-db-ja.com

「ルート要素がありません。」の修正方法Visual Studio(VS)ビルドを行うとき

「ルート要素がありません。」の修正方法Visual Studio(VS)ビルドを行うとき

私のソリューションでどのファイルを見るべきか考えていますか?

実際、「Make VS 2008」コマンドを使用すると、「Visual Build Pro」内でこのエラーメッセージが表示されます。このコマンドは、他のソリューション(約20など)を構築するときに正常に機能し、なぜ私のエラーが発生するのかよくわかりません。

どんな助けも大歓迎です。 :)

VS 2008とVisual Build Pro 6.7を使用しています。

60
Gerhard Weiss

XMLファイル(またはVisual StudioによってXMLファイルとして解釈されるファイル)が正しいXML構造を持っていることを確認してください。つまり、1つのルート要素(任意の名前で、私の例ではrootElementを使用しています) :

<?xml version="1.0"?> 
<rootElement>
 ...
</rootElement>
31
Oded

私の場合、クラッシュ後に問題を引き起こしていたのはxxxxxxxxxxxx.vcxproj.userファイルでした(空白でした)。名前を変更すると、問題はなくなりました。

43
Elliot

また、BOMがストライキしたときに「ルート要素がありません」というエラーも表示されます。 BOM =バイト順マーク。これは、間違ったエンコーディングで保存されたときにファイルの先頭に追加される余分な文字です。
これは、XMLファイルを操作するときにVisual Studioで発生することがあります。何かをコーディングしてすべてのファイルから削除するか、どのファイルであるかがわかっている場合は、Visual Studioに特定のエンコード(utf-8またはascii IIRC)で保存させることができます。

VS以外のエディターでファイルを開くと(notepad ++を試してください)、<?の前に2つの面白い文字が表示されます。 xml宣言。

VSでこれを修正するには、VSでファイルを開き、VSのバージョンに応じて

  • ファイル>詳細保存オプション>適切なエンコードを選択
  • [ファイル]> [名前を付けて保存]>ファイル名を保持し、[保存]ボタンの右側にあるドロップダウン矢印をクリックしてエンコードを選択します
32
stombeur

私の場合、missing element errorNuGet.Configファイルを指していました。当時はこんな感じでした

<?xml version="1.0" encoding="utf-8"?>
<settings>
  <repositoryPath>Packages</repositoryPath>
</settings>

次に、実際にxml全体をラップするconfigurationタグを追加しました。今私のためにうまく働いています

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <settings>
     <repositoryPath>Packages</repositoryPath>
  </settings>
</configuration>
14
Malik Khalil

このエラーは、破損したprojファイルが原因で発生します。

Visual Studioには、常に特定のフォルダーにバックアッププロジェクトファイルがあります。

以下を参照してください:

C:\Users\<Your user>\Documents\Visual Studio <Vs version>\Backup Files\<your project>

次のような2つのファイルが表示されます。

Original-May-18-2018-1209PM.<your project>.csproj
Recovered-May-18-2018-1209PM.<your project>.csproj

ファイルのコピーのみが必要です:

Original-May-18-2018-1209PM.<your project>.csproj

そして名前を

<your project>.csproj 

ルートプロジェクトフォルダーで上書きします。

問題は解決しました!

5
user3037124

私の場合、.csprojファイルを開いたときは空だったので、gitで以前のコミットに移動し、そのファイルの内容をコピーして、現在の.csprojファイルに貼り付けました。その後、.csproj.userファイルを削除し、プロジェクトをリロードすると、すべてが再び機能し始めました。

4
Alf Moh

同じエラーが発生しました。表示されているエラーMicrosoft.Data.Entityは、ルート要素が読み込めませんでした。 C:\ Windows\Microsoft.NET\Framework\v4.0.30319からそのファイルを削除し、再度ソリューションを開くと、問題が解決しました。すべてうまくいきます

4
user4481951

ファイルを検索することもできます。 PowerShellを使用してプロジェクトディレクトリに移動し、Get-FileMissingRootを実行します。

function Get-FileMissingRoot {

    dir -recurse |
        where {
            ($_ -is [IO.FileInfo]) -and 
            (@(".xml", ".config") -contains $_.extension) 
        } |
        foreach {
            $xml = New-Object Xml.XmlDocument;
            $filename = $_.FullName
            try {
                $xml.Load($filename)
            }
            catch {
                write ("File: " + $filename)
                write ($_.Exception.Message)
            }
        }
}
3
Sam Porch

私の場合、ファイルC:\Users\xxx\AppData\Local\PreEmptive Solutions\Dotfuscator Professional Edition\4.0\dfusrprf.xmlはNULLでいっぱいでした。

削除しました。 Dotfuscatorの最初の起動時に再作成され、その後、正常性が復元されました。

3
pascal

Visual Studio 2013の実行中にブルースクリーンが表示され、再起動するとプロジェクトを再度実行するつもりでしたが、常にこのheadiusエラーが発生しました。とにかく

一時情報を含むフォルダを削除すると、この問題が修正されます。私の場合、プロジェクトはWindowsサーバーであり、基本的にはいくつかのTem情報を含むフォルダーを作成します。

フォルダーは

C:\Users\User_NAME\AppData\Local\NAme_OF_THeProject

プロジェクトの名前といくつかの生成されたGUIサービスを持つフォルダーが存在します。

これは削除したフォルダーであり、プロジェクトを再度実行できます。

2
Ramomex1

このエラーは、一部のProject Toolchain設定Atmel Studio 6.1.2730 SP2を編集するときに発生する場合があります。

私の場合、[設定]で[すべての設定]を選択した状態で、[プロジェクトプロパティ]> [ツールチェーン]> [リンカー]> [一般設定]を編集しようとしました。設定をオンまたはオフにすると、エラーのダイアログが表示されました。ただし、一度に1つのビルド構成のみを作成した場合、同じ編集を行うことができることがわかりました。つまり、「すべての構成」ではなく「デバッグ」または「リリース」のみが選択されています。

興味深いことに、後で[すべての構成]を選択していても、同じリンカー設定を編集できました。これが可能になったプロジェクトで何が変わったのかわかりません。

2
ptschnack

私の場合、VS2017にアップグレードし、ビルドスクリプト(VS2015を使用していたときにMSBuild 3.5を使用していた)でMSBuild 4を使用してすべてのプロジェクトをビルドしたかった。そのMSBuildのアップグレードは、Windowsデスクトップアプリケーションでは問題なく表示されましたが、コンパクトフレームワークを備えたWindows CEの場合、この混乱するエラーが発生します。 Windows CEプロジェクトのMSBuild 3.5に戻すと、問題が修正されました。

ちなみに.csprojファイルにBOMがあり、ビルドではないが役に立たないソリューションのすべてのプロジェクトでそれらを削除しました。

2
Martin Maat

Xamarinフォームプロジェクト。削除しました

.VS Project folder.
ProjectName.Android.csProj.User
ProjectName.Android.csProj.bak
1
A.Goutam

私の場合、xxxx.pubxml.userは、アプリケーションを公開しようとしたときにロードされませんでした。ファイルを削除し、Visual Studioを再起動してから、新しいプロファイルを作成して公開しました。問題は解決し、正常に公開されました。

1
Muhammad Masud

ちょっと、MacでCocoa C#ソリューションで作業している同じ問題があります。(しかし、私はそれを解決しました!)

ルート要素が欠落しているため、C#プロジェクトファイルをロードできないと常に表示されます。

2017 Visual Studio Mac Community Editionを持っています。数時間後にやっと解決策を見つけることができました(痛い!)。

私の解決策は、Visual Studioに関連するフレームワークが古いか壊れているためです。これは、Cocoaで新しいMacソリューションを作成しようとしましたが、「ソリューションを保存できませんでした」と言ったためです。次に、Androidソリューションを作成しようとしましたが、うまく機能しています。 「Finder」と「Go」->「Go to a Folder」に進み、「Library/Frameworks」に進みます。 Xamarinフレームワークが壊れていると思われるため、Xamarinに関連するmono.frameworkとフレームワークを削除しました。

次に、Visual Studioをアンインストールして再インストールしました。これですべて正常に動作します!

1
Can Gao

私の場合、次のようなメッセージを受け取りました。 この画像を参照

プロジェクトファイル(.csproj)で以下の抜粋コードをコメントしたところ、問題は修正されました。

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
1

VS 2017を実行しているときにこの問題が発生しましたが、ビルド時に「ルート要素がありません」というエラーが発生していました。私が解決したのは[ツール]> [Nugetパッケージマネージャー]> [パッケージマネージャー設定]> [全般]> [すべてのNugetキャッシュをクリア]です。その後、ビルドを再度実行し、修正されました。

1
Shawn Hill

私の場合、.csproj.userの名前を変更し、Visual Studioを再起動してプロジェクトを開きました。別の.csproj.userファイルが自動的に作成され、ソリューションはうまく機能しました。

0
MBA

.userファイルを削除すると、まさに問題が解決しました。オフィスの近くで落雷が発生すると、PCがシャットダウンし、.userファイルが破損し、プロジェクトが読み込まれませんでした。 Notepad ++でファイルを開いたところ、「スペース」が[NULL]文字であることが判明しました。 .userファイルと読み込まれたファイルを削除しました!

ソース https://forums.asp.net/t/1491251.aspx?Can+t+load+project+because+root+element+is+missing+

0
Shailendra bind

私の場合、クリスタルレポートで2010を使用していました。 Innerexceptionは、ルート要素にエラーがないことを明らかにしました。 C:\ Users\sam\AppData\Local\dssms\dssms.vshost.exe_Url_uy5is55gioxym5avqidulehrfjbdsn13\1.0.0.0などのディレクトリに移動し、innermessageで指定されていることを確認します(user.configが何らかの理由で空白になっていることを確認します)。

0
Nie Selam

Xamarin Formsプロジェクトでも同じ問題が発生しました。 iOSプロジェクトを利用できなかったため、プロジェクトをリロードできませんでした。何もアンインストールする必要のないソリューションを探していました。

このブログから得た答え: https://dev.to/codeprototype/xamarin-form-application-failed-to-load-Android-project-root-element-missing--27o

したがって、何もアンインストールせずに、。csproj.userファイルを削除(または名前を変更)することができます。 Visual Studioはファイルを再度作成します。私のために二度働いた。

0
Tharindu

Web APIプロジェクトでこの問題が発生しました。最後に、それが私の「///」メソッドのコメントにあることがわかりました。これらのコメントは、APIメソッドのドキュメントを自動生成するように設定されています。私のコメントの中に何かがおかしくなりました。キャリッジリターン、特殊文字などをすべて削除しました。どの機能が気に入らなかったかはわかりませんが、機能しました。

0
Jarrette

Ho iは、ソース管理エクスプローラーに移動して問題プロジェクトを選択し、右クリックして、[詳細設定]メニューの[特定バージョンの取得]オプションを選択することで、この問題を解決しました。そして、タイプを最新バージョンとして選択し、次の2つのチェックボックスにチェックを入れ、取得ボタンをクリックしました。その後、ソリューションを更新すると、プロジェクトが復活し、問題はなくなりました。これによりローカルプロジェクトが上書きされ、現在の変更が失われる可能性があることに注意してください。ローカルコピーに問題がない場合は、これを試してください。それが役に立てば幸い

0
Nithin Paul

私の場合、Visual Studioを開いたままPCを閉じると問題が発生したため、csproj.userファイルは空のまま保存されました。ありがたいことに、すでにバックアップしているので、csproj.userからすべてのxmlをコピーして、影響を受けるプロジェクトcsproj.userファイルに貼り付けただけなので、完全に機能しました。

このファイルには、建物のデバイス情報などが含まれています。

0
Mir Karam

私の場合、Microsoft.Common.CurrentVersion.targetsが破損していました。このファイルを他のシステムからコピーしましたが、うまくいきました。

0
Vivek Pandey

私の場合、empty packages.config file。が原因でこのエラーが発生しました。これにより、NUGETパッケージマネージャーが失敗し、エラーが表示されましたルート要素がありません。解決策は、別の空でないファイルから要素をコピーし、必要に応じて変更することでした。

例(packages.config):

<?xml version="1.0" encoding="utf-8"?>
<packages>
 <package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net451"/>
 <package id="Newtonsoft.Json" version="5.0.4" targetFramework="net451"/>
</packages>
0
Matt

VS2015コミュニティで数回クラッシュしました。

すべての.csproj.userファイルを削除します

ヌル文字でいっぱいでした

C:\ Users\UserName\AppData\Local\Temp \

.NETFramework、Version = v4.0.AssemblyAttributes.cs .NETFramework、Version = v4.5.AssemblyAttributes.cs .NETFramework、Version = v4.5.2.AssemblyAttributes.cs

0
CRice

私の場合、RDLCファイルはリソースファイル(.resx)で機能しますが、rdlcレポート用に対応するresxファイルを作成していないため、このエラーが発生しました。

私の解決策は、次の方法でApp_LocalResources内に.resxファイルを追加することでした。

\rep
\rep\myreport.rdlc
\rep\App_LocalResources\myreport.rdlc.resx
0
Wilson

これは思ったよりも簡単に修正できました。 Webサイトのキャッシュフォルダーをクリアするだけでした。

からすべてを削除

OSのドライブ文字:\ Users\USER NAME\AppData\Local\Microsoft\WebsiteCache

C:\ Users\Jack\AppData\Local\Microsoft\WebsiteCache

ビジュアルスタジオのその他のヒントについては、 マイブログ をご覧ください。

これらの解決策のいずれも私の問題を解決しませんでした。

私の場合、仕事を終えてコンピューターをシャットダウンしました。翌日、プロジェクトをコンパイルできませんでした。これらのソリューションのいくつかを試してみたところ、すべてのプロジェクトが機能していないことに気付きました。

修正するには、.net core Frameworkを再インストールします。

Visual Studio 2017

0
AFetter

私の場合、.csprojはエンコード形式に変更されました。 Git(Team Explorer)でcsprojの変更を元に戻し、プロジェクトファイルをリロードしました。これで問題は解決しました。

0
Archana R