小编Pau*_*els的帖子

TF900547:包含Visual Studio Test Runner程序集的目录无效但无法查看MSTest.exe

我在TFS2013版本上遇到以下错误:

TF900547: The directory containing the assemblies for the Visual Studio Test Runner is not valid ''.
Run Code Online (Sandbox Code Playgroud)

这里,这似乎是这个问题的答案是改变从VS测试运行到MSTest的测试运行.但是,当我尝试在构建定义中编辑测试运行时,测试运行器选项被设置为Visual Studio Test Runner灰色.什么决定了这个框中显示的内容,以及如何添加MSTest?

我已经安装了VS2012代理服务器上的处理试验.

msbuild tfs unit-testing tfs2013

5
推荐指数
1
解决办法
3388
查看次数

如何在 WPF XAML 中填充饼形区域

我有以下 XAML:

    <Ellipse StrokeThickness="2" Stroke="Green"></Ellipse>
    <Rectangle Margin="150,0,149,150" Name="rectanglePie" Stroke="Green" Height="150" VerticalAlignment="Bottom">
        <Rectangle.RenderTransform>
            <RotateTransform x:Name="pieEdge" CenterX="0" CenterY="150" Angle="60" />
        </Rectangle.RenderTransform>
    </Rectangle>

    <Rectangle Margin="150,0,149,150" Name="rectangleStatic" Stroke="Green" Height="150" VerticalAlignment="Bottom">
    </Rectangle>
Run Code Online (Sandbox Code Playgroud)

我想做的是用颜色填充其中包含的饼图。这可能吗?如果可以,我该怎么办?

c# wpf xaml

5
推荐指数
1
解决办法
4749
查看次数

使用linq/lambda构建一个标志

是否可以根据linq查询的结果建立一个位掩码; 例如:

class MyClass
{
    public int Flag{get;set;}
    public bool IsSelected {get;set;}
}

myVar = GetlistMyClass();

int myFlag = myVar.Where(a => a.IsSelected).Select(?);
Run Code Online (Sandbox Code Playgroud)

c# linq lambda bitmask

5
推荐指数
1
解决办法
366
查看次数

在ContinueWith()块中使用await

我有以下代码:

var result = MessageBoxHelper.MsgBox
    .ShowAsync("Press Yes to proceed", MessageBoxButton.YesNo)
    .ContinueWith((answer) =>
    {
        if (answer.Result == MessageBoxResult.Yes)
        {
            Task<bool> asyncTask = ExecuteAsyncFunc();
            //asyncTask.Unwrap(); ??
            asyncTask.ContinueWith((a) =>
            {
                // More 
            }, TaskContinuationOptions.OnlyOnRanToCompletion);
        }
    }, TaskContinuationOptions.OnlyOnRanToCompletion);
}
Run Code Online (Sandbox Code Playgroud)

在其他地方调用是这样的:

public async Task<bool> ExecuteAsyncFunc()
{
    await CallAnotherAsyncFunction();
}
Run Code Online (Sandbox Code Playgroud)

我相信我需要调用 Unwrap(),我已经尝试过,因为我在块内调用 wait ContinueWith()。但是,当我取消注释时,出现以下错误:

错误 CS1929“任务”不包含“展开”的定义,并且最佳扩展方法重载“TaskExtensions.Unwrap(Task)”需要“任务”类型的接收器

我是否需要在这种情况下使用 Unwrap?如果需要,我做错了什么?

c# asynchronous task task-parallel-library async-await

5
推荐指数
1
解决办法
3685
查看次数

在UWP中使用RenderTargetBitmap时出错

我正在尝试创建一个位图图像,并具有以下代码:

RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap();
await renderTargetBitmap.RenderAsync(uielement);

IBuffer pixels = await renderTargetBitmap.GetPixelsAsync();

. . .

var pixelArray = pixels.ToArray();
Run Code Online (Sandbox Code Playgroud)

为了得到ToArray()扩展,我遇到了这个问题。所以我补充说:

using System.Runtime.InteropServices.WindowsRuntime; // For ToArray
Run Code Online (Sandbox Code Playgroud)

对我的代码。但是,当我运行时,出现以下错误:

抛出异常:System.Runtime.WindowsRuntime.dll中的“ System.ArgumentException”

附加信息:指定的缓冲区索引不在缓冲区容量之内。

当我深入研究细节时,它在堆栈跟踪中显示:

在> System.Runtime.InteropServices.WindowsRuntime.WindowsRuntimeBufferExtensions.ToArray(IBuffer源)

这种提取像素阵列的方法是否仍然适用于UWP?如果是,是否有任何方法可以从此错误消息中获取更多详细信息?

c# rendertargetbitmap win-universal-app uwp

5
推荐指数
1
解决办法
1087
查看次数

使用Scaffold-DBContext设置数据库优先EF项目

我有一个数据库,我正在尝试建立一个数据库第一个EF项目.我的项目是一个使用.Net Core的Web API项目.像我发出的命令是这样的:

Scaffold-DbContext "Server=Server\Instance;Database=MyDatabase;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

Could not load file or assembly 'Microsoft.EntityFrameworkCore.Design' or one of its dependencies. The system cannot find the file specified.

System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.EntityFrameworkCore.Design' or one of its dependencies. The system cannot find the file specified.
File name: 'Microsoft.EntityFrameworkCore.Design'
   at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr …
Run Code Online (Sandbox Code Playgroud)

entity-framework-core asp.net-core

5
推荐指数
1
解决办法
2380
查看次数

实体框架 6 重命名时尝试删除不存在的索引

作为 EF 迁移的新手,我对以下行为感到惊讶,并想知道它是否是故意的(即有一个开关可以让它消失)。

当我重命名列时,EntityTypeConfiguration 类中有以下相关行:

Property(x => x.MyColumn).HasColumnName(@"MyColumn").HasColumnType("nvarchar").IsOptional();
Run Code Online (Sandbox Code Playgroud)

而且,至关重要的是:

HasOptional(a => a.RelatedTable).WithMany(b => b.ThisTable).HasForeignKey(c => c.MyColumn).WillCascadeOnDelete(false);
Run Code Online (Sandbox Code Playgroud)

据我了解,这是建立外键关系。当我将 MyColumn 重命名为 MyColumn2 时,创建的迁移如下所示:

public override void Up()
{
    RenameColumn(table: "dbo.ThisTable", name: "MyColumn", newName: "MyColumn2");
    RenameIndex(table: "dbo.ThisTable", name: "IX_MyColumn", newName: "IX_MyColumn2");
}
Run Code Online (Sandbox Code Playgroud)

但是,MyColumn未在 上建立索引ThisTable。我意识到为外键关系创建索引是明智的;这就是 EF 假设有一个的原因吗?

请注意,EF 模型最初是使用 EF 反向 POCO 生成器从数据库生成的。

c# entity-framework ef-database-first entity-framework-migrations

5
推荐指数
1
解决办法
1873
查看次数

CheckPermissionsAsync始终在Android上返回拒绝

我正在使用权限插件来请求Android上的精确位置权限;但是,每次我调用CheckPermissionsAsync时,都会收到拒绝的响应。这是我正在使用的代码:

protected override async void OnStart()
{
    PermissionStatus status = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.LocationWhenInUse);
    if (status == PermissionStatus.Unknown)
    {
        var result = await CrossPermissions.Current.RequestPermissionsAsync(Permission.LocationWhenInUse);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是在模拟器上运行的,据我所知,我尚未设法执行RequestPermissionsAsync调用。

这是预期的行为吗?如果是这样,我该如何区分“拒绝”(尚未询问)和“拒绝”(询问和拒绝)?

编辑:

在进一步调查中,呼叫RequestPermissionsAsync似乎没有任何区别。我的印象是它将转到本机平台并显示“我们需要权限..”对话框。再次查看该插件示例,似乎答案是仅显示设置并让用户分配他们的想法;答案似乎差不多。感觉很像我在这里错过了难题的关键部分。

编辑:

我创建了这个问题的基本复制在这里(很明显,我已经删除了谷歌地图键)。

编辑:

遵循@FreakyAli的建议,我最终完成了一个(或多或少)如下所示的主要活动:

if (ActivityCompat.ShouldShowRequestPermissionRationale(this,
        Manifest.Permission.AccessFineLocation))
{

}
else
{                    
    ActivityCompat.RequestPermissions(this,
            new String[] { Manifest.Permission.AccessFineLocation },
            PERMISSIONS_REQUEST_LOCATION);    
}
Run Code Online (Sandbox Code Playgroud)

这行得通,但是感觉就像我在复制插件的功能。

c# android xamarin xamarin.forms

5
推荐指数
1
解决办法
229
查看次数

在C#中使用ftp发送文件

我正在尝试使用ftp发送文件.我有以下代码:

string server = "x.x.x.x";  // Just the IP Address 

FileStream stream = File.OpenRead(filename);
byte[] buffer = new byte[stream.Length];

WebRequest request = WebRequest.Create("ftp://" + server);
request.Method = WebRequestMethods.Ftp.UploadFile;            
request.Credentials = new NetworkCredential(username, password);

Stream reqStream = request.GetRequestStream(); // This line fails
reqStream.Write(buffer, 0, buffer.Length);
reqStream.Close();
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,我收到以下错误:

请求的URI对此FTP命令无效.

请有人能告诉我为什么吗?我错误地使用了这个吗?

.net c# ftp

4
推荐指数
1
解决办法
1万
查看次数

使用SSL的WebRequest

我有以下代码使用FTP检索文件(工作正常).

            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(svrPath);

            request.KeepAlive = true;
            request.UsePassive = true;
            request.UseBinary = true;

            request.Method = WebRequestMethods.Ftp.DownloadFile;
            request.Credentials = new NetworkCredential(uname, passw);

            using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
            using (Stream responseStream = response.GetResponseStream())
            using (StreamReader reader = new StreamReader(responseStream))
            using (StreamWriter destination = new StreamWriter(destinationFile))
            {
                destination.Write(reader.ReadToEnd());
                destination.Flush();
            }
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用SSL执行此操作时,我无法访问该文件,如下所示:

            FtpWebRequest request = (FtpWebRequest)WebRequest.Create(svrPath);

            request.KeepAlive = true;
            request.UsePassive = true;
            request.UseBinary = true;

            // The following line causes the download to fail
            request.EnableSsl = true;

            request.Method = WebRequestMethods.Ftp.DownloadFile;
            request.Credentials = new …
Run Code Online (Sandbox Code Playgroud)

.net c# ftp ssl webrequest

4
推荐指数
1
解决办法
1万
查看次数