Я обновляю некоторые старые решения, и лишь немногие проекты столкнулись со следующей ошибкой после автоматической миграции и перечислены в отчете о миграции
Имя не может начинаться с '?' символ, шестнадцатеричное значение 0x3F. Линия
1, позиция 3.
Я немного исследую Интернет, но не могу найти результат, которым является персонаж?
Я проверил
Имя не может начинаться с символа '', шестнадцатеричное значение 0x20
Имя не может начинаться с символа «$», шестнадцатеричное значение 0x24
Но решения, похоже, не соответствуют моему случаю.
Я заглядываю в csproj и делаю xml действительным онлайн-инструментом, все вроде нормально.
Похоже, что неудачные проекты являются либо сайтом ASP.NET, либо веб-службой SOAP.
Содержимое в одном из csproj
<?xml version="1.0" encoding="utf-8"?>
<VisualStudioProject>
<CSHARP ProjectType="Web" ProductVersion="7.10.3077" SchemaVersion="2.0" ProjectGuid="{9CCCD8A9-8CEF-4FFF-80C6-8123FC554342}" SccProjectName="SAK" SccLocalPath="SAK" SccAuxPath="SAK" SccProvider="SAK">
<Build>
<Settings ApplicationIcon="" AssemblyKeyContainerName="" AssemblyName="PortalHome" AssemblyOriginatorKeyFile="" DefaultClientScript="JScript" DefaultHTMLPageLayout="Grid" DefaultTargetSchema="IE50" DelaySign="false" OutputType="Library" PreBuildEvent="" PostBuildEvent="" RootNamespace="PortalHome" RunPostBuildEvent="OnBuildSuccess" StartupObject="">
<Config Name="Debug" AllowUnsafeBlocks="false" BaseAddress="285212672" CheckForOverflowUnderflow="false" ConfigurationOverrideFile="" DefineConstants="DEBUG;TRACE" DocumentationFile="" DebugSymbols="true" FileAlignment="4096" IncrementalBuild="false" NoStdLib="false" NoWarn="" Optimize="false" OutputPath="bin\" RegisterForComInterop="false" RemoveIntegerChecks="false" TreatWarningsAsErrors="false" WarningLevel="4" />
<Config Name="Release" AllowUnsafeBlocks="false" BaseAddress="285212672" CheckForOverflowUnderflow="false" ConfigurationOverrideFile="" DefineConstants="TRACE" DocumentationFile="" DebugSymbols="false" FileAlignment="4096" IncrementalBuild="false" NoStdLib="false" NoWarn="" Optimize="true" OutputPath="bin\" RegisterForComInterop="false" RemoveIntegerChecks="false" TreatWarningsAsErrors="false" WarningLevel="4" />
</Settings>
<References>
<Reference Name="System" AssemblyName="System" HintPath="..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll" />
<Reference Name="System.Drawing" AssemblyName="System.Drawing" HintPath="..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Drawing.dll" />
<Reference Name="System.Data" AssemblyName="System.Data" HintPath="..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll" />
<Reference Name="System.Web" AssemblyName="System.Web" HintPath="..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Web.dll" />
<Reference Name="System.XML" AssemblyName="System.Xml" HintPath="..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll" />
<Reference Name="System.Web.Mobile" AssemblyName="System.Web.Mobile" HintPath="..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Web.Mobile.dll" />
</References>
</Build>
<Files>
<Include>
<File RelPath="AssemblyInfo.cs" BuildAction="Compile" />
<File RelPath="Default.aspx" BuildAction="Content" />
<File RelPath="Default.aspx.cs" DependentUpon="Default.aspx" SubType="ASPXCodeBehind" BuildAction="Compile" />
<File RelPath="Global.asax" SubType="Component" BuildAction="Content" />
<File RelPath="Global.asax.cs" DependentUpon="Global.asax" SubType="Code" BuildAction="Compile" />
<File RelPath="Global.asax.resx" DependentUpon="Global.asax.cs" BuildAction="EmbeddedResource" />
<File RelPath="Web.config" BuildAction="Content" />
</Include>
</Files>
</CSHARP>
</VisualStudioProject>
Я думаю, что нашел ключ.
Когда я дважды щелкаю по csproj, он создает файл tmp, такой как vs2D44.tmp
. Какой формат XML и содержит
<??>
<VisualStudioProject>
<CSHARP
ProductVersion = "7.10.3077"
SchemaVersion = "2.0"
something ...
По-моему, откуда на самом деле сообщение об ошибке. Но, тем не менее, не знаю, почему или как это решить.