我的 C# 多项目解决方案在使用 VS2019 profesional 16.5.5 和 16.5.4 时遇到问题。它正确地编译、测试和执行,但在后台我不断恢复 nuget 包,每隔几秒钟完成一次。CPU 接近 100%。
我已经尝试过Update-Package -reinstall,nuget locals all --clear(来自: 如何在 Visual Studio 2017 中修复此 NuGet Restart 循环?),更新 VS,删除我的.vs文件夹,清理解决方案,再次从 git 检出项目,甚至重新启动。似乎没有任何帮助。
该项目有几个主要项目:两个控制台,一个 AspNetCore,一个 WPF。它们使用标准 2.0 或共享 C# 项目中的公共库。
输出窗口中的包管理器日志有数百个条目,例如:
Time Elapsed: 00:00:00.7441577
========== Finished ==========
Time Elapsed: 00:00:00.8448774
========== Finished ==========
Time Elapsed: 00:00:00.8410551
========== Finished ==========
Time Elapsed: 00:00:00.7351174
========== Finished ==========
Time Elapsed: 00:00:00.7997720
========== Finished ==========
Time Elapsed: 00:00:00.9367757
========== Finished ========== …Run Code Online (Sandbox Code Playgroud) 我主要是一名C++开发人员,但最近我一直在用C#开发一个项目.今天我在使用对象初始化器时遇到了一些意外的行为,至少对我来说是这样.我希望这里有人可以解释发生了什么.
例A
public class Foo {
public bool Bar = false;
}
PassInFoo( new Foo { Bar = true } );
Run Code Online (Sandbox Code Playgroud)
例B
public class Foo {
public bool Bar = true;
}
PassInFoo( new Foo { Bar = false } );
Run Code Online (Sandbox Code Playgroud)
示例A按照我的预期工作.传递给PassInFoo的对象将Bar设置为true.但是,在示例B中,尽管在对象初始值设定项中赋值为false,但foo.Bar设置为true.什么会导致示例B中的对象初始化程序看似被忽略?
当我暂停程序时,我和我的团队遇到了 Visual Studio 显示乱码而不是正确字符串内容的问题。里面的字符串数据是正确的,只是VS的调试器不知何故丢失了。
\n\n我将正确的内容标记为绿色,错误的内容标记为红色。
\n\n\n\n你可以看到std::string定义为
const std::string testStdString = "contents of std::string";\nRun Code Online (Sandbox Code Playgroud)\n\n显示为"\\b\xc3\x84\xc4\x8eD\\x19"调试悬停和监视窗口。但 C 弦.c_str()显示良好。写入的控制台cout也显示正常。\n这个损坏的值在每次运行时都会发生变化。
在原始视图模式下,您可以看到指针内容显示为 ASCII 时,看起来就像调试器认为的字符串内容。那么也许有一些短字符串优化相关的问题?
\n\n\n\n如果将其解码为字符串:
\n\n"\\b\xc3\x84\xc4\x8eD\\x19"\n [0x00000000]: 0x08 \'\\b\'\n [0x00000001]: 0xc4 \'\xc3\x84\'\n [0x00000002]: 0xcf \'\xc4\x8e\'\n [0x00000003]: 0x44 \'D\'\n [0x00000004]: 0x19 \'\\x19\'\n [0x00000005]: 0x00 \'\\0\'\nRun Code Online (Sandbox Code Playgroud)\n\n它buf与原始视图中可见的属性匹配:(0x0000001944cfc408相反顺序)。
问题仅影响std::string和std::wstringC 字符串工作正常。当我尝试使用std::string::c_str()它时效果也很好。
当我尝试使用一个简单的新项目时,不会出现此问题 - 但在我们使用本机 C++ 和 C# UWP 解决方案的 …
向三星注册以获得开发者证书后,我无法安装我的应用程序,我得到了SIGNATURE_INVALID(代码22)。
该应用程序可以是任何东西,包括IDE向导中的hello world应用程序。
有趣的是,在收到三星发回的电子邮件并安装密钥之前,我已经部署了一个hello world应用程序,并且可以正常工作。无法再重复此操作。
从IDE登录:
Launching the Tizen application...
# If you want to see the detailed information,
# please set the logging level to DEBUG in Preferences and check the log file in '(...)'.
[Initializing the launch environment...]
RDS: On
Target information: SM-R380
Application information: Id(p8BYHTMfs6.Pilot), Package Name(p8BYHTMfs6), Project Name(Pilot)
[Transferring the package...]
Repackaging is in progress before the package transfer.
Transferred the package: (...)/tizen/Pilot.wgt -> /opt/usr/apps/tmp
[Stopping running application...]
[Installing the package...]
path is /opt/usr/apps/tmp/Pilot.wgt
start process …Run Code Online (Sandbox Code Playgroud) macos tizen tizen-web-app samsung-galaxy-gear tizen-wearable-sdk
我在自定义授权处理程序中访问会话数据有困难,而它在其他地方工作。
会话在控制器操作中正常工作,但是当我尝试使用IHttpContextAccessor.HttpContext.Sessiona访问它时MyAuthorizationHandler.HandleRequirementAsync,我收到InvalidOperationException“尚未为此应用程序或请求配置会话。”。在IHttpContextAccessor访问查询,饼干等-但无法访问会话数据。
如果我尝试从控制器访问相同MyAuthorizationHandler的IHttpContextAccessor,则会话数据可用。
MyAuthorizationHandler作为单例注入ConfigureServices,完整的初始化顺序:
public void ConfigureServices(IServiceCollection services)
{
services.AddDistributedMemoryCache();
services.AddSession();
services.AddDefaultIdentity...
services.AddControllersWithViews();
services.AddRazorPages();
services.AddControllers...
services.AddAuthentication...
services.AddAuthorization...
services.AddHttpContextAccessor();
services.AddSingleton<IAuthorizationHandler, MyAuthorizationHandler>();
services.Configure<CookiePolicyOptions>...
services.AddMvc(o => o.EnableEndpointRouting = false);
}
public void Configure(...)
{
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseSession();
app.UseEndpoints...
app.UseMvc();
}
Run Code Online (Sandbox Code Playgroud)
注意:我不能在这个处理程序中使用声明,我需要会话数据。
我正在编写一个DecoratorDrawer允许对检查器中任何字段进行有意义的长篇描述。我的目标是这样的:

(伪装成金币)
那就是想要更浅的背景,圆角的边框等。
编辑器中有一些地方使用这种样式,例如,在光照贴图窗口中有两个实例:

我不能使用,EditorGUI.HelpBox因为:
我无法可靠地测量内容的高度HelpBox。请注意,抽屉禁止使用EditorGUILayout。
没有富文本或其他方式设置内容样式
不允许使用图片-我想稍后将它们作为一个选项
使用HelpBox它看起来像这样:

我的问题是:是否有允许以这种样式显示信息的硬编码GUIStyle或UnityEditor/ UnityEditorInternal方法?如果没有,关于如何伪造这种风格的任何想法?如何制作圆角?请记住,有一个专业皮肤看起来不同,所以如果该解决方案在两个皮肤上都可以使用,那就太好了。