我刚才下载Vs的2019前和它xamarin Android提供了更多的配置说明这里
它建议按以下方式使用,并告知proguard不能与r8一起使用,因为它可以替代proguard。
<Project>
<PropertyGroup>
<AndroidEnableMultiDex>True</AndroidEnableMultiDex>
<AndroidDexTool>d8</AndroidDexTool>
<AndroidLinkTool>r8</AndroidLinkTool>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
但我真的不明白r8应该如何工作?因为使用proguard,我已经做了很多配置,例如定义保留哪个库,类,函数。所以我们不需要这些吗?只需设置r8即可?我已经按照建议尝试了,但出现错误
8>R8 : error : Compilation can't be completed because some library classes are missing.
除此之外,这些设置如何将效果捆绑到本机程序集,AotAssemblies,LLVM等中?我们可以和他们一起使用吗?我的配置如下。但不幸的是,它不起作用。如果我删除D8和R8,它的工作原理。我尝试仅使用Proguard + D8,但也无法正常工作。
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AndroidUseSharedRuntime>False</AndroidUseSharedRuntime>
<DebugType>portable</DebugType>
<AndroidLinkMode>Full</AndroidLinkMode>
<EmbedAssembliesIntoApk>true</EmbedAssembliesIntoApk>
<AndroidCreatePackagePerAbi>true</AndroidCreatePackagePerAbi>
<JavaMaximumHeapSize>1G</JavaMaximumHeapSize>
<AotAssemblies>true</AotAssemblies>
<EnableLLVM>true</EnableLLVM>
<AndroidAotAdditionalArguments>no-write-symbols,nodebug</AndroidAotAdditionalArguments>
<DebugSymbols>false</DebugSymbols>
<BundleAssemblies>true</BundleAssemblies>
<AndroidEnableMultiDex>True</AndroidEnableMultiDex>
<EnableProguard>false</EnableProguard>
<Debugger>Xamarin</Debugger>
<AndroidSupportedAbis>armeabi-v7a;x86;x86_64</AndroidSupportedAbis>
<AndroidLinkSkip> </AndroidLinkSkip>
<AndroidEnableMultipleDex>true</AndroidEnableMultipleDex>
<AndroidExplicitCrunch>true</AndroidExplicitCrunch>
<AndroidDexTool>d8</AndroidDexTool>
<AndroidLinkTool>r8</AndroidLinkTool>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
更新:
我删除了r8并启用了proguard。因为一般阅读后(不仅是xamarin),r8还不如proguard成熟。所以我只让d8高于configuarion和EnableProguard = true。但是我收到关于r8的警告和错误
8>"\myApp.Droid\myApp.Droid.csproj" (Rebuild;BuiltProjectOutputGroup;BuiltProjectOutputGroupDependencies;DebugSymbolsProjectOutputGroup;DebugSymbolsProjectOutputGroupDependencies;DocumentationProjectOutputGroup;DocumentationProjectOutputGroupDependencies;SatelliteDllsProjectOutputGroup;SatelliteDllsProjectOutputGroupDependencies;SGenFilesOutputGroup;SGenFilesOutputGroupDependencies target) (1) ->
8>(_CompileToDalvikWithD8 target) ->
8> R8 : warning : Missing …Run Code Online (Sandbox Code Playgroud) 我想用数据网格和保存按钮实现一个简单的WPF.当我单击保存按钮时,它将接受我尝试过的更改(行编辑,单元格编辑,新行,删除等)RowEditHandler和CollectionChange使用可观察集合的事件.但我无法获得解决方案.任何人都可以告诉我一个简单的方法.使用数据集(xsd),我能够通过将网格的datacontext发送到数据集并使用更新功能来实现这一目标.
感谢帮助
entity-framework wpfdatagrid ef-code-first entity-framework-4.1
我尝试验证我的图片网址,看看它们是否有效.我有这么多人,完成这项任务需要几个小时.因此,我决定异步进行.我想知道我的代码是否有任何重大差异或优势,如下所示.
我的主要职能是:
Async Function testUrl_async(ByVal myImageurl As String) As Task(Of Boolean)
myHttpResponse = Await myHttpClient.GetAsync(myImageurl)
If myHttpResponse.IsSuccessStatusCode Then
mySuccess = True
Else
mySuccess = False
End If
Return mySuccess
End Function
Function testUrl(ByVal myImageurl As String) As Boolean
myHttpResponse = myHttpClient.GetAsync(myImageurl)
If myHttpResponse.IsSuccessStatusCode Then
mySuccess = True
Else
mySuccess = False
End If
Return mySuccess
End Function
Run Code Online (Sandbox Code Playgroud)
1)使用异步等待.
For Each myImage In myImages
Dim result=await testUrl_async(myImageUrl).Result
'some code
Next
Run Code Online (Sandbox Code Playgroud)
2)使用平行foreach
Parallel.ForEach(myImages,
Sub(myImage)
testUrl(pictureComponent.websiteShop.hqpatronen, myImageUrl)
'some code
End Sub)
Run Code Online (Sandbox Code Playgroud)
3)使用并行foreach和asnyc/await
Parallel.ForEach(myImages, …Run Code Online (Sandbox Code Playgroud) 我试图在感觉和插件头上实现这个多搜索请求,但我无法得到什么问题?doc上的示例是curl,我无法理解究竟有什么区别.
POST _msearch?pretty=1
{"myIndex":"Product"}
{
"fields": [
"id",
"Name"
],
"query": {
"bool": {
"should": [
{
"query_string": {
"default_field": "_all",
"query": "key"
}
}
]
}
}
,
"from": 0,
"size": 5,
"sort": [],
"aggs": {}
}
{"myIndex":"Printer"}{
"fields": [
"id",
"Name"
],
"query": {
"bool": {
"must": [{
"has_child": {
"type": "Printer",
"query": {
"match": {
"Name": "key"
}
}
}
}]
}
}
,
"from": 0,
"size": 5,
"sort": [],
"aggs": {}
}
Run Code Online (Sandbox Code Playgroud)
感觉上我得到了这个错误.{"error":"JsonParseException [意外的输入结束:OBJECT的预期关闭标记(来自[来源:[B …
我有一个多重搜索查询,如下所示。基本上我查询产品和类别类型。我想让这个查询成为可选的,而无需再次编写相同的代码。基本上在某些情况下,我只想查询产品类型,这意味着它不会进行多重搜索,而是搜索查询。如何将此查询拆分为 2 个搜索查询。我想就像下面这样。
return Client.MultiSearch(ms => ms
.Search<Product>("products", s => s
.Index(IndexName)
.Explain(explain)
.Query(q => q
.Bool(b => b
.Should(
sh => sh.MultiMatch(qs => qs
.Fields(d => d
.Field(Name + ".raw", NameBoost + 0.5)
.Field(Name, NameBoost)
.Type(TextQueryType.BestFields)
.Query(key))
))).From(startfrom).Size(size))
.Search<Category>("categories", s => s
.Index(IndexName)
.Explain(explain)
.Query(q => q.
Bool(b => b.
Should(sh => sh.
MultiMatch(m => m
.Fields(d => d
.Field(f => f.Name, NameBoost)
.Field(p => p.Name.Suffix("raw"), NameBoost + 0.5)).Type(TextQueryType.BestFields)
.Query(key)
)
))).From(startfrom).Size(size))
);
Run Code Online (Sandbox Code Playgroud)
像下面这样的东西。根据这篇文章,我猜它被称为对象初始值设定项语法
Client.MultiSearch(搜索产品查询&&搜索类别查询)
是否可以?
我正在通过异步发出 http get 请求来验证图像 url。使用下面的代码一切正常,但是当我有这么多图像时,我们的防火墙将阻止我的互联网访问,因为同时请求的线程太多。因此,我正在寻找如何限制并发运行线程数的解决方案。我结束了这个线程告诉我使用 SemaphoreSlim但不知何故我无法理解这个想法以及如何实现它?
如果这不是最好的方法,请提出更好的方法。我不确定将 MaxDegreeOfParallelism 与 parallel.foreach 一起使用是否也有意义?
Dim tasks = myImages.Select(Function(x) testUrl_async(x))
Dim results = Await Task.WhenAll(tasks)
Async Function testUrl_async(ByVal myImage As image) As Task(Of image)
Dim myImageurl as string=myImage.imageurl
myHttpResponse = Await myHttpClient.GetAsync(myImageurl)
If myHttpResponse.IsSuccessStatusCode Then
Return myImage
Else
Return Nothing
End If
End Function
Run Code Online (Sandbox Code Playgroud) 我有2个属性Height和Width我的ImageDimension对象,我想将它们绑定在一起所以它显示像50x60(中间的斧头字符)?我怎样才能做到这一点?下面的代码给我一个错误说
"对象引用未设置为对象实例."
<cst:CustomDataGrid x:Name="grdImageDimension"
ItemsSource="{Binding ImageDimensions, IsAsync=True}"
<DataGridTextColumn Header="ImageDimension" Width="50">
<DataGridTextColumn.Binding>
<MultiBinding StringFormat="{}{0} + {1}">
<Binding Path="ImageDimensions.Height" />
<Binding Path="ImageDimensions.Width" />
</MultiBinding>
</DataGridTextColumn.Binding>
</DataGridTextColumn>
</cst:CustomDataGrid>
Run Code Online (Sandbox Code Playgroud)
视图模型:
Public Class ImageDimensionsVM
Private m_ImageDimensions As ObservableCollection(Of ImageDimension)
Public Property ImageDimensions() As ObservableCollection(Of ImageDimension)
Get
Return m_ImageDimensions
End Get
Set(value As ObservableCollection(Of ImageDimension))
m_ImageDimensions = value
End Set
End Property
Run Code Online (Sandbox Code Playgroud) 遵循xamarin本地化主题和样本TodoLocalized,我使我的应用程序多语言.我的问题有时候,我需要使用有时单词大写,我不想在resx文件中创建另一个翻译作为同一个单词的大写版本.实现这一目标的最佳方法是什么?如果可能延长这个translateextension?或者我应该使用IValueConvertor?如果是,如何在xaml中绑定它
// You exclude the 'Extension' suffix when using in Xaml markup
[ContentProperty("Text")]
public class TranslateExtension : IMarkupExtension
{
readonly CultureInfo ci;
const string ResourceId = "myApp.Resx.AppRes";
public TranslateExtension()
{
if (Device.OS == TargetPlatform.iOS || Device.OS == TargetPlatform.Android)
{
ci = DependencyService.Get<ILocalize>().GetCurrentCultureInfo();
}
}
public string Text { get; set; }
public object ProvideValue(IServiceProvider serviceProvider)
{
if (Text == null)
return "";
ResourceManager resmgr = new ResourceManager(ResourceId
, typeof(TranslateExtension).GetTypeInfo().Assembly);
var translation = resmgr.GetString(Text, ci);
if (translation …Run Code Online (Sandbox Code Playgroud) 我认为使用 args 参数我会在 Azure 应用程序洞察中的 customDimensions 下看到一个新的自定义维度,但它对我不起作用。我找不到有关如何使用此参数的任何好的信息。它的用途是什么?在 App Insights 中哪里可以找到该信息?
我只是传递了一个字符串数组,但在 AI 中找不到这个对象。
//
// Summary:
// Formats and writes an error log message.
//
// Parameters:
// logger:
// The Microsoft.Extensions.Logging.ILogger to write to.
//
// exception:
// The exception to log.
//
// message:
// Format string of the log message in message template format. Example:
// "User {User} logged in from {Address}"
//
// args:
// An object array that contains zero or more objects to format. …Run Code Online (Sandbox Code Playgroud) azure azure-application-insights asp.net-core azure-functions ilogger
我正在使用 Microsoft.WindowsAzure.Storage.DataMovement 库进行目录上传,如下所示
TransferManager.Configurations.ParallelOperations = 64;
UploadDirectoryOptions options = new UploadDirectoryOptions()
{
ContentType = "image/jpeg",
Recursive = true,
};
context.FileTransferred += FileTransferredCallback;
context.FileFailed += FileFailedCallback;
context.FileSkipped += FileSkippedCallback;
await TransferManager.UploadDirectoryAsync(sourceDir, destDir, options:
options, context: context, cancellationToken: cts.Token);
Run Code Online (Sandbox Code Playgroud)
我认识到,如果我更改了同名的图像,函数将忽略该图像并在文件存在时返回异常。如果 datemodified 更改,如何替换图像?首先,我本地电脑上的 datemodified 和 azure 应该同步。
async-await ×2
c# ×2
vb.net ×2
xamarin ×2
asp.net-core ×1
azure ×1
data-binding ×1
ilogger ×1
nest ×1
resx ×1
semaphore ×1
wpf ×1
wpfdatagrid ×1
xaml ×1