小编Oli*_*ver的帖子

找不到元数据文件".dll"

我正在研究WPF,C#3.0项目,我收到此错误:

Error 1 Metadata file
'WORK=- \Tools\VersionManagementSystem\BusinessLogicLayer\bin\Debug
\BusinessLogicLayer.dll' could not be found C:\-=WORK=- \Tools
\VersionManagementSystem\VersionManagementSystem\CSC VersionManagementSystem
Run Code Online (Sandbox Code Playgroud)

这是我引用我的usercontrols的方式:

xmlns:vms="clr-namespace:VersionManagementSystem"
<vms:SignOffProjectListing Margin="5"/>
Run Code Online (Sandbox Code Playgroud)

它发生在每次失败的构建之后.我可以获得编译解决方案的唯一方法是注释掉我的所有用户控件并重新构建项目,然后我取消注释用户控件,一切都很好.

我检查了构建顺序和依赖项配置.

正如你所看到的,它似乎已经截断了DLL文件的绝对路径......我已经读过有一个长度错误.这可能是个问题吗?

它非常烦人,不得不评论,构建和取消注释,构建变得非常烦人.

.net c# wpf visual-studio-2008 c#-3.0

647
推荐指数
28
解决办法
70万
查看次数

.NET 6.0 未显示在 Visual Studio 2022(常规版本)中

我已安装 .NET 6.0 SDK 和 Visual Studio 2022。但是,Visual Studio 2022 不提供选择 .NET 6.0 的功能。

我知道我可以使用目标框架编辑项目文件,所以请不要这样做。这个问题特别围绕 Visual Studio 2022 UI。

点网 SDK

Visual Studio 2022 用户界面

编辑1:

已在 Visual Studio 2022 的 Visual Studio 安装程序中选择 .NET 6.0 运行时

视觉工作室安装程序

编辑2:

我可以创建 .NET 6.0 项目,但似乎无法在以前为 .NET 5.0 的现有项目中以 .NET 6.0 为目标。

新项目

.net visual-studio .net-6.0 visual-studio-2022

45
推荐指数
3
解决办法
6万
查看次数

在TypeScript中确定'this'的范围

我有一个非常简单的类,但已经在Typescript中定义'this'时遇到了痛苦:

打字稿

/// <reference path='jquery.d.ts' />
/// <reference path='bootstrap.d.ts' />

module Problem {
    export class Index {
        detailsUrl: string;
        constructor() {
            $('.problem-detail-button').click((e) => {

                e.preventDefault();

                var $row = $(this).closest('tr'); //this must be that of the callback
                var problemId: number = $row.data('problem-id');

                $.ajax({
                    url: this.detailsUrl, //this must be the instance of the class
                    data: { id: problemId },
                    type: 'POST',
                    success: (result) => {
                        $('#details-modal-placeholder').html(result);
                        $('#details-modal-placeholder modal').modal('show');
                    },
                })
            });
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

使用Javascript

var Problem;
(function (Problem) {
    var Index …
Run Code Online (Sandbox Code Playgroud)

javascript typescript

14
推荐指数
2
解决办法
9113
查看次数

需要将Windows凭据跨域传递给API

我在AngularJS中实现了基于令牌的身份验证,但是我的安全api(生成令牌)是基于窗口的,用于将所有AD交互集中到一个站点.

结构如下: 在此输入图像描述

流程如下:

  1. 用户未登录
  2. $ http请求到Windows身份验证的安全性Api
  3. 安全性Api用户AD创建令牌(由auth处理的身份验证)
  4. 令牌返回应用程序
  5. 所有后续请求都使用令牌来标记经过身份验证的api

当安全性和应用程序位于同一域时,这一切都正常,但是只要$ http请求需要跨域,就不会发送带有Windows凭据的授权标头,从而导致401.

示例请求(api是经过Windows身份验证的)

在此输入图像描述

安全性Api通过允许Origin(*仅用于测试而非生产)允许跨域请求:

<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" />
Run Code Online (Sandbox Code Playgroud)

问题(TL:DR):

是否可能,如果是这样,在制作跨域$ http请求时,如何让AngularJS客户端应用程序通过Windows凭据?

security http token asp.net-web-api angularjs

11
推荐指数
1
解决办法
9374
查看次数

绑定到App.xaml.cs中的属性

Property在我的App.xaml.cs中调用User了一个用户详细信息.我在这里读到你不能在App类上拥有依赖属性.

我选择使用App.cs,因为它对整个程序是全局的,并且用于访问控制,但欢迎任何替代方案.

现在我的问题是如何从UserControls和Windows绑定到此属性.

IsEnabled="{Binding Path=User, Converter={StaticResource hasAccessConverter}, ConverterParameter=Mid}"
Run Code Online (Sandbox Code Playgroud)

这显然只适用于DataContext.我想访问应用程序上的属性.如果我实现,有人可以向我展示绑定到App.xaml.cs属性的示例INotifyChanged吗?

谢谢-Oliver

data-binding wpf

9
推荐指数
2
解决办法
2万
查看次数

在WebAPI 2中严格执行ISO8601日期格式

前言

默认情况下,JSON序列化程序通过以下方式支持ISO DateTime标准 IsoDateTimeConverter

通过一些额外的自定义,我们可以强制所有日期时间都是UTC(http://www.asp.net/web-api/overview/formats-and-model-binding/json-and-xml-serialization)

jsonFormatter.SerializerSettings.DateTimeZoneHandling = Newtonsoft.Json.DateTimeZoneHandling.Utc
Run Code Online (Sandbox Code Playgroud)

这再次按预期工作,1972-09-18T02:29:12.264513Z并且1972-09-18T04:29:12.264513+02:00两者等同于1972-09-18 02:29:12 AM序列化之后.

问题

但遗憾的是,省略时区偏移后缀也成功序列化.所以1972-09-18T04:29:12.264513相当于1972-09-18 04:29:12 AMUTC.

这里的问题是我们假设消费者知道日期格式并且理解(根据我们的文档)日期总是假定为UTC.

问题

如果发出时区偏移后缀,有没有办法强制序列化失败,那么我们不做任何假设?

c# serialization datetime json.net asp.net-web-api2

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

根据需要验证正文中的不可为空属性 - AspNetCore 3.1

我试图验证是否在 ModelState 无效的请求中完全忽略了属性/字段,并且 BadRequest 被发送回客户端,但是我正在努力处理请求正文中的不可为空类型。

适用于可为空类型

[Required] public string NullableString { get; set; }
Run Code Online (Sandbox Code Playgroud)

适用于不可为空和可为空的参数

public IActionResult RequiredNonNullableIntQueryString([Required]int nonNullableInt)

public IActionResult RequiredNullableStringQueryString([Required]string nullableString)
Run Code Online (Sandbox Code Playgroud)

但是,它不适用于请求正文中的不可为空类型

 public IActionResult RequiredNonNullableIntBody([FromBody]NonNullablesRequest request)

 public class NonNullablesRequest
 {
    [Required] // I have also tried [BindRequired] with the same result.
    public int NonNullableInt { get; set; }
 }
Run Code Online (Sandbox Code Playgroud)

我读过了:

Microsoft 文档指出:

.NET Core 3.0 及更高版本中的验证系统将不可为 null 的参数或绑定属性视为具有 [Required] 特性。值类型(例如 decimal …

c# asp.net-mvc .net-core asp.net-core asp.net-core-3.1

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

创建目录并为用户提供FullControl问题

我在创建具有特定权限的目录时遇到问题.

        //Make sure Tools directory exists
        DirectoryInfo oMyDirectoryInfo = new DirectoryInfo(oInstance.szToolsPath);
        if (!oMyDirectoryInfo.Exists)
        {
            oMyDirectoryInfo.Create();
            DirectorySecurity oDirectorySecurity = oMyDirectoryInfo.GetAccessControl();
            oDirectorySecurity.AddAccessRule(new FileSystemAccessRule((Settings.Default.LoginDomain + "\\" + Settings.Default.LoginUsername), FileSystemRights.FullControl, InheritanceFlags.ContainerInherit, PropagationFlags.InheritOnly, AccessControlType.Allow));
            oMyDirectoryInfo.SetAccessControl(oDirectorySecurity);
        }
Run Code Online (Sandbox Code Playgroud)

现在,这将创建目录,我可以看到Login已添加到安全选项卡.但是,当我冒充登录并尝试将文件复制到该目录时,我收到了一个未经授权的例外.我可以创建一个文件(没有数据),我可以创建一个文件夹,但我无法将数据写入文件(但我设置了FullControl:/)

我通过Windows进一步挖掘权限,我发现它适用于子文件夹,但我也想将其设置为文件.我如何通过代码执行此操作?

这是在Windows 7上

c#

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

没有过度控制时ScrollView而不是MouseWheel滚动

我正在使用Silverlight 4.0

发生的事情是ScrollViewer只会在一个悬停在文本框,树视图等控件上时滚动.

如果鼠标位于非控制对象(如网格)上,则鼠标滚轮不起作用.

这是正常的行为吗?

c# silverlight xaml silverlight-4.0

3
推荐指数
1
解决办法
759
查看次数

Cookie 不会通过 HTTP GET 发送

我使用仅 HTTP(并且在生产中安全)cookie 来通过后端 API 维护用户身份验证状态。

我遇到了一个问题,即 Cookie 没有通过 HTTP GET 请求发送。POST 和 PATCH 请求工作完美,但 gets 缺少 Cookies 请求标头。

作为标准的一部分,我没有看到任何关于此的具体限制。Mozilla 文档明确提供了一个包含 Cookie 的 GET 请求的示例? https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies

作为上下文,我目前正在开发中,因此在“localhost”上运行并使用 Chrome 63.0.3239.132。

编辑:添加图像

所以cookies是在应用程序中设置的

饼干套装

PATCH 请求按预期发送 Cookie

补丁工作,按预期发送 cookie

GET 请求不包含任何内容。我抛出 404 是因为我找不到 cookie 值。

不工作,没有发送 cookie

cookies google-chrome http

3
推荐指数
1
解决办法
4087
查看次数

Visual Studio 2019 中缺少 Application Insights

正如标题所述,我在 Visual Studio 2019 中找不到任何 Application Insights 菜单或选项。

搜索无果而终,我没有看到 Microsoft 提供的有关 Visual Studio 2019 中 Application Insights 支持的更新文档。

这是尚不可用的东西吗?

azure azure-application-insights visual-studio-2019

3
推荐指数
2
解决办法
2575
查看次数

ServicePointManager.DefaultConnectionLimit返回Int32.MaxValue

出于诊断目的,我正在记录ServicePointManager.DefaultConnectionLimit.但奇怪的是它似乎正在返回Int32.MaxValue(即2147483647).

这似乎与MSDN关于该主题的文档相矛盾:

ServicePoint对象允许的最大并发连接数.默认值为2.

对于上下文,我在4.6.1上运行的ASP.Net 4应用程序中获取此值

c# asp.net-mvc asp.net-web-api2

2
推荐指数
1
解决办法
1622
查看次数