「ルート要素がありません。」の修正方法Visual Studio(VS)ビルドを行うとき
私のソリューションでどのファイルを見るべきか考えていますか?
実際、「Make VS 2008」コマンドを使用すると、「Visual Build Pro」内でこのエラーメッセージが表示されます。このコマンドは、他のソリューション(約20など)を構築するときに正常に機能し、なぜ私のエラーが発生するのかよくわかりません。
どんな助けも大歓迎です。 :)
VS 2008とVisual Build Pro 6.7を使用しています。
XMLファイル(またはVisual StudioによってXMLファイルとして解釈されるファイル)が正しいXML構造を持っていることを確認してください。つまり、1つのルート要素(任意の名前で、私の例ではrootElement
を使用しています) :
<?xml version="1.0"?>
<rootElement>
...
</rootElement>
私の場合、クラッシュ後に問題を引き起こしていたのはxxxxxxxxxxxx.vcxproj.userファイルでした(空白でした)。名前を変更すると、問題はなくなりました。
また、BOMがストライキしたときに「ルート要素がありません」というエラーも表示されます。 BOM =バイト順マーク。これは、間違ったエンコーディングで保存されたときにファイルの先頭に追加される余分な文字です。
これは、XMLファイルを操作するときにVisual Studioで発生することがあります。何かをコーディングしてすべてのファイルから削除するか、どのファイルであるかがわかっている場合は、Visual Studioに特定のエンコード(utf-8またはascii IIRC)で保存させることができます。
VS以外のエディターでファイルを開くと(notepad ++を試してください)、<?の前に2つの面白い文字が表示されます。 xml宣言。
VSでこれを修正するには、VSでファイルを開き、VSのバージョンに応じて
私の場合、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>
このエラーは、破損した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
ルートプロジェクトフォルダーで上書きします。
問題は解決しました!
私の場合、.csproj
ファイルを開いたときは空だったので、gitで以前のコミットに移動し、そのファイルの内容をコピーして、現在の.csproj
ファイルに貼り付けました。その後、.csproj.user
ファイルを削除し、プロジェクトをリロードすると、すべてが再び機能し始めました。
同じエラーが発生しました。表示されているエラーMicrosoft.Data.Entityは、ルート要素が読み込めませんでした。 C:\ Windows\Microsoft.NET\Framework\v4.0.30319からそのファイルを削除し、再度ソリューションを開くと、問題が解決しました。すべてうまくいきます
ファイルを検索することもできます。 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)
}
}
}
私の場合、ファイルC:\Users\xxx\AppData\Local\PreEmptive Solutions\Dotfuscator Professional Edition\4.0\dfusrprf.xml
はNULLでいっぱいでした。
削除しました。 Dotfuscatorの最初の起動時に再作成され、その後、正常性が復元されました。
Visual Studio 2013の実行中にブルースクリーンが表示され、再起動するとプロジェクトを再度実行するつもりでしたが、常にこのheadiusエラーが発生しました。とにかく
一時情報を含むフォルダを削除すると、この問題が修正されます。私の場合、プロジェクトはWindowsサーバーであり、基本的にはいくつかのTem情報を含むフォルダーを作成します。
フォルダーは
C:\Users\User_NAME\AppData\Local\NAme_OF_THeProject
プロジェクトの名前といくつかの生成されたGUIサービスを持つフォルダーが存在します。
これは削除したフォルダーであり、プロジェクトを再度実行できます。
このエラーは、一部のProject Toolchain設定Atmel Studio 6.1.2730 SP2を編集するときに発生する場合があります。
私の場合、[設定]で[すべての設定]を選択した状態で、[プロジェクトプロパティ]> [ツールチェーン]> [リンカー]> [一般設定]を編集しようとしました。設定をオンまたはオフにすると、エラーのダイアログが表示されました。ただし、一度に1つのビルド構成のみを作成した場合、同じ編集を行うことができることがわかりました。つまり、「すべての構成」ではなく「デバッグ」または「リリース」のみが選択されています。
興味深いことに、後で[すべての構成]を選択していても、同じリンカー設定を編集できました。これが可能になったプロジェクトで何が変わったのかわかりません。
私の場合、VS2017にアップグレードし、ビルドスクリプト(VS2015を使用していたときにMSBuild 3.5を使用していた)でMSBuild 4を使用してすべてのプロジェクトをビルドしたかった。そのMSBuildのアップグレードは、Windowsデスクトップアプリケーションでは問題なく表示されましたが、コンパクトフレームワークを備えたWindows CEの場合、この混乱するエラーが発生します。 Windows CEプロジェクトのMSBuild 3.5に戻すと、問題が修正されました。
ちなみに.csprojファイルにBOMがあり、ビルドではないが役に立たないソリューションのすべてのプロジェクトでそれらを削除しました。
Xamarinフォームプロジェクト。削除しました
.VS Project folder.
ProjectName.Android.csProj.User
ProjectName.Android.csProj.bak
私の場合、xxxx.pubxml.userは、アプリケーションを公開しようとしたときにロードされませんでした。ファイルを削除し、Visual Studioを再起動してから、新しいプロファイルを作成して公開しました。問題は解決し、正常に公開されました。
ちょっと、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をアンインストールして再インストールしました。これですべて正常に動作します!
私の場合、次のようなメッセージを受け取りました。 この画像を参照
プロジェクトファイル(.csproj)で以下の抜粋コードをコメントしたところ、問題は修正されました。
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
VS 2017を実行しているときにこの問題が発生しましたが、ビルド時に「ルート要素がありません」というエラーが発生していました。私が解決したのは[ツール]> [Nugetパッケージマネージャー]> [パッケージマネージャー設定]> [全般]> [すべてのNugetキャッシュをクリア]です。その後、ビルドを再度実行し、修正されました。
私の場合、.csproj.userの名前を変更し、Visual Studioを再起動してプロジェクトを開きました。別の.csproj.userファイルが自動的に作成され、ソリューションはうまく機能しました。
.userファイルを削除すると、まさに問題が解決しました。オフィスの近くで落雷が発生すると、PCがシャットダウンし、.userファイルが破損し、プロジェクトが読み込まれませんでした。 Notepad ++でファイルを開いたところ、「スペース」が[NULL]文字であることが判明しました。 .userファイルと読み込まれたファイルを削除しました!
ソース https://forums.asp.net/t/1491251.aspx?Can+t+load+project+because+root+element+is+missing+
私の場合、クリスタルレポートで2010を使用していました。 Innerexceptionは、ルート要素にエラーがないことを明らかにしました。 C:\ Users\sam\AppData\Local\dssms\dssms.vshost.exe_Url_uy5is55gioxym5avqidulehrfjbdsn13\1.0.0.0などのディレクトリに移動し、innermessageで指定されていることを確認します(user.configが何らかの理由で空白になっていることを確認します)。
Xamarin Formsプロジェクトでも同じ問題が発生しました。 iOSプロジェクトを利用できなかったため、プロジェクトをリロードできませんでした。何もアンインストールする必要のないソリューションを探していました。
このブログから得た答え: https://dev.to/codeprototype/xamarin-form-application-failed-to-load-Android-project-root-element-missing--27o
したがって、何もアンインストールせずに、。csproj.userファイルを削除(または名前を変更)することができます。 Visual Studioはファイルを再度作成します。私のために二度働いた。
Web APIプロジェクトでこの問題が発生しました。最後に、それが私の「///」メソッドのコメントにあることがわかりました。これらのコメントは、APIメソッドのドキュメントを自動生成するように設定されています。私のコメントの中に何かがおかしくなりました。キャリッジリターン、特殊文字などをすべて削除しました。どの機能が気に入らなかったかはわかりませんが、機能しました。
Ho iは、ソース管理エクスプローラーに移動して問題プロジェクトを選択し、右クリックして、[詳細設定]メニューの[特定バージョンの取得]オプションを選択することで、この問題を解決しました。そして、タイプを最新バージョンとして選択し、次の2つのチェックボックスにチェックを入れ、取得ボタンをクリックしました。その後、ソリューションを更新すると、プロジェクトが復活し、問題はなくなりました。これによりローカルプロジェクトが上書きされ、現在の変更が失われる可能性があることに注意してください。ローカルコピーに問題がない場合は、これを試してください。それが役に立てば幸い
私の場合、Visual Studioを開いたままPCを閉じると問題が発生したため、csproj.userファイルは空のまま保存されました。ありがたいことに、すでにバックアップしているので、csproj.userからすべてのxmlをコピーして、影響を受けるプロジェクトcsproj.userファイルに貼り付けただけなので、完全に機能しました。
このファイルには、建物のデバイス情報などが含まれています。
私の場合、Microsoft.Common.CurrentVersion.targetsが破損していました。このファイルを他のシステムからコピーしましたが、うまくいきました。
私の場合、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>
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
私の場合、RDLCファイルはリソースファイル(.resx)で機能しますが、rdlcレポート用に対応するresxファイルを作成していないため、このエラーが発生しました。
私の解決策は、次の方法でApp_LocalResources内に.resxファイルを追加することでした。
\rep
\rep\myreport.rdlc
\rep\App_LocalResources\myreport.rdlc.resx
これは思ったよりも簡単に修正できました。 Webサイトのキャッシュフォルダーをクリアするだけでした。
からすべてを削除
OSのドライブ文字:\ Users\USER NAME\AppData\Local\Microsoft\WebsiteCache
例
C:\ Users\Jack\AppData\Local\Microsoft\WebsiteCache
ビジュアルスタジオのその他のヒントについては、 マイブログ をご覧ください。
これらの解決策のいずれも私の問題を解決しませんでした。
私の場合、仕事を終えてコンピューターをシャットダウンしました。翌日、プロジェクトをコンパイルできませんでした。これらのソリューションのいくつかを試してみたところ、すべてのプロジェクトが機能していないことに気付きました。
修正するには、.net core Frameworkを再インストールします。
Visual Studio 2017
私の場合、.csprojはエンコード形式に変更されました。 Git(Team Explorer)でcsprojの変更を元に戻し、プロジェクトファイルをリロードしました。これで問題は解決しました。