在构建时,编译器将引发以下错误:
错误:-
严重性代码描述项目文件行抑制状态 错误无法为类创建JavaTypeInfo: Android.Support.V4.View.Accessibility.AccessibilityManagerCompat / IAccessibilityStateChangeListenerImplementor 由于System.IO.DirectoryNotFoundException:无法找到一部分 路径 'C:\ Users \ sHaRjAs \ source \ repos \ FormsDatePickerFocusSample \ FormsDatePickerFocusSample \ FormsDatePickerFocusSample.Android \ obj \ Debug \ 90 \ android \ src \ mono \ android \ support \ v4 \ view \ accessibility \ AccessibilityManagerCompat_AccessibilityStateChangeListener。 在System.IO .__ Error.WinIOError(Int32 errorCode,可能是StringFullPath) 在System.IO.FileStream.Init(字符串路径,FileMode模式,FileAccess 访问,Int32权限,布尔useRights,FileShare共享,Int32 bufferSize,FileOptions选项,SECURITY_ATTRIBUTES secAttrs,字符串 MSGPATH,布尔bFromProxy,布尔useLongPath,布尔checkHost)
在System.IO.FileStream..ctor(字符串路径,FileMode模式,FileAccess 访问,FileShare共享,Int32 bufferSize)位于 Xamarin.Android.Tools.Files.CopyIfStreamChanged(流流,字符串 目的地) Xamarin.Android.Tasks.Generator.CreateJavaSources(TaskLoggingHelper 日志,IEnumerable`1 javaTypes,字符串outputPath,字符串 applicationJavaClass,字符串androidSdkPlatform,布尔 useSharedRuntime,布尔值generateOnCreateOverrides,布尔值 hasExportReference)
XAML代码:-
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:FormsDatePickerFocusSample"
x:Class="FormsDatePickerFocusSample.MainPage">
<StackLayout VerticalOptions="CenterAndExpand"
HorizontalOptions="CenterAndExpand"
BackgroundColor="White">
<Button x:Name="MyButton"
Text="Show DatePicker"
Clicked="OnMyButtonClicked"/>
<DatePicker x:Name="MyDatePicker"
IsVisible="False"/>
</StackLayout>
</ContentPage>
c#:-
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
namespace FormsDatePickerFocusSample
{
// Learn more about making custom code visible in the Xamarin.Forms
previewer
// by visiting https://aka.ms/xamarinforms-previewer
[DesignTimeVisible(false)]
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void OnMyButtonClicked(object sender, EventArgs e)
{
Device.BeginInvokeOnMainThread(() =>
{
if (MyDatePicker.IsFocused)
MyDatePicker.Unfocus();
MyDatePicker.Focus();
});
}
}
}
答案 0 :(得分:0)
刚才有一个类似的错误。我发现它与我的VS解决方案名称联系在一起,具有描述性和长久性
WebApp_ReportGenerator_Framework_Dink_Oxy
如果我创建的另一个项目的解决方案和项目名称(TestProj
)较短,则android项目的构建没有错误。
@sHaRjAs:
我猜有问题的Java文件的路径太长(请参阅错误描述),因为您的项目名称太长。除了项目重命名以外,还有其他解决方案可以解决此问题:Solutions here和此处oficial。
PS。如果是xamarin形式,则使用
<PropertyGroup>
<IntermediateOutputPath>C:\Projects\MyApp</IntermediateOutputPath>
</PropertyGroup>
解决方案,请注意,上方路径中的“ MyApp”文件夹是包含所有表单项目的文件夹:Android,UWP,IO和标准API项目。我认为这在文件中并不清楚。
例如,如果您将IntermediateOutputPath属性放入android项目的路径,则Visual Studio会锁定,并且需要“ endTasked”。