小编Pau*_*ema的帖子

添加 ADO.Net 实体框架给出“项目的目标框架不包含实体框架运行时程序集”

我在 VS2022 中的解决方案中添加了一个新的 .Net 6.0 项目。安装了EntityFramework 6.4.4。现在尝试install-package entityframework将 ADO.Net 实体框架模型添加到项目中。我收到错误:

该项目的目标框架不包含实体框架运行时程序集。请查看项目属性页面上的目标框架信息。

我尝试添加其他几个 EF 包(根据此处的文档,这应该不是必需的: https: //learn.microsoft.com/en-us/ef/ef6/fundamentals/install)。我认为问题出在我的安装上,但我创建了一个包含问题的 .Net 6.0 控制台应用程序并将其发送给同事,他收到了相同的消息。

还在这里找到了这个主题:在 Visual Studio 2022 上添加实体框架模型,但那里没有答案。

重现步骤:

  1. 创建 .Net 6.0 控制台应用程序。
  2. install-package entityframework使用包管理器控制台窗口安装 EF6 包。
  3. 右键单击解决方案并选择“添加”=>“添加项目”。
  4. 在左侧窗格中单击“数据”。
  5. 选择“ADO.Net 实体框架模型”。
  6. 单击“添加”。

在此输入图像描述

出现错误:

在此输入图像描述

entity-framework-6 .net-6.0 visual-studio-2022

72
推荐指数
6
解决办法
7万
查看次数

StatusBarNotification如何获取数据或重新发送意图?

我的应用通过Firebase接收推送通知.现在有通知到达时可能发生的3种不同情况:

  1. 该应用程序位于前台
  2. 该应用程序在后台
  3. 该应用未运行

情况1没问题.通知在app ok中收到.只要您点按抽屉中的通知,情况2和3就可以正常工作.在情境2和3中,当点击应用程序图标而不是抽屉图标时,应用程序根本不会收到任何通知.我试图从StatusBar获取活动通知,但是我无法从Extras检索数据或将通知重新发送到等待推送通知服务.这是获取通知的实验代码.

        NotificationManager notificationManager = (NotificationManager)Application.Context.GetSystemService(Context.NotificationService);

        var notifications = notificationManager.GetActiveNotifications()
            .Where(notif => notif.PackageName == Application.Context.PackageName);

        foreach (var notification in notifications)
        {
            Log.Info(TAG, "OnActivityResumed: Notification in active in Status Bar: {0}", notification.Notification.ToString());

            var data = notification.Notification.Extras.GetString("data");

            Log.Debug("Notifier", "Data received: {0}", data);

            //if (data != null)
            //{
            //    Settings.Notification = JsonConvert.DeserializeObject<LoginNotificationParameter>(data);
            //}
        }

        // Canceling all notifications
        notificationManager.CancelAll();
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 当通知在抽屉中时,应用程序没有收到任何意图是否是正确的行为?
  2. 如果是这样,当用户点击应用程序图标而不是抽屉通知时,如何处理情境2和3?

打印所有Extras键值时,我在het Notification中看到此数据:

06-28 16:34:13.174 20792 20792 I Notifier: OnActivityResumed: Notification is active in Status Bar: Notification(pri=0 contentView=null …
Run Code Online (Sandbox Code Playgroud)

android notificationmanager firebase xamarin firebase-cloud-messaging

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

如何在多个visual studio项目中组织我们的javascript

在VS2012的解决方案中,我们有多个Web应用程序都需要javascript.我们使用Telerik的Kendo UI为MVC4 ASP.Net开发了一个单页面应用程序,结合了jQuery和TypeScript.

由于多个Web应用程序,我们创建了大量冗余的TypeScript,因此创建了Javascript.改变代码是一种阻力.我们必须始终同步所有Web应用程序的所有代码,这至少是令人讨厌的.

我已经研究过这个问题的几个解决方案,并且已经空了.以下是我调查的一些场景:

Visual Studio中的链接

可以将整个"文件夹"从一个项目拖动到另一个项目,同时按住Alt键.这会导致源项目中所有文件的目标项目中的链接.这在Visual Studio中可以正常工作以进行编辑.这里的问题是,在运行时,应用程序需要将文件放在执行Web应用程序层次结构内的磁盘上的位置.因为它们是指向另一个位置的链接,所以服务器无法找到这些文件.

放弃了这个解决方案.

磁盘上的符号链接

使用Windows中的"mklink"命令,可以创建所谓的"符号链接".这就像视觉工作室的魅力.可以通过将现有(符号)目录从文件资源管理器拖到Web应用程序的树中,将现有(符号)目录添加到visual studio中.然后,您可以编辑文件,更改会立即反映在原始位置.我们用这个运行了项目,并且认为我们有解决问题的方法,直到我们想要将其检查到Subversion.Subversion认为它是一个真实的文件夹,并尝试使用原始位置的版本信息签入文件.经过几个令人沮丧的反复试验后,我也放弃了这个解决方案.我们尝试了符号链接和连接点,但在这两种情况下我们都无法使用它.

放弃了这个解决方案.

更多调查

我还查看了使用WebResources.asxd结合JavaScript作为嵌入资源的ASP.Net应用程序中使用的解决方案.我们也放弃了这一点,因为在增加的复杂性的帮助下,它会在开发过程中增加我们的周转时间.我们必须为某些JavaScript文件中的每个更改构建解决方案,这样我们就会失去现在非常快速的编辑可能性.我们现在可以简单地更改JavaScript,将其保存到磁盘并刷新浏览器以使更改变为活动状态.

我们最喜欢的选项是具有符号链接的选项,但我们还没有找到SubVersion与该问题的工作.

javascript c# svn visual-studio-2012 typescript

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

如何在不编译项目的情况下获取类的元数据

在我们的项目中,我们使用了大量的T4代码生成.我们使用一个名为DataObjects.Net的X-Tensive ORM.我们有点鸡蛋问题.在我们使用程序集的元数据生成代码之前,我们需要编译ORM的类.然后,当生成代码时,我们可以再次编译模型,但现在与生成的代码(部分类)组合.如果没有生成的代码,则无法编译模型类中的大多数自定义代码.

我们如何解决它是在VS2013中有一个名为"模型"的单独配置.在此配置中,存在"条件编译符号"调用"JUSTMODEL".在没有生成代码的情况下不编译的所有代码都放在#if!JUSTMODEL #endif编译器指令之间,这导致不为"模型"配置编译此代码.

这有点单调乏味.我们已经创建了一个可扩展的应用程序来自动执行此过程,但运行过程会越来越耗费时间.

现在我想知道是否有可能获得Model程序集的元数据而不通过某种扩展性API构建程序集.我在Visual Studio中看到很多工具,它们理解编辑器中加载的类并给我一些反馈(比如intellisense).

c# visual-studio vs-extensibility dataobjects.net

8
推荐指数
1
解决办法
378
查看次数

选择WiFi网络

我不确定这是否可能.

我们公司的客户希望拥有以下内容:

  • 客户是一家大型零售商,拥有许多商店.
  • 每个商店都有专门的WLan
  • 当客户进入商店并且App正在运行时,它应该识别网络并连接到它.
  • 然后,客户可以使用仅在此专用WLan上提供的某些Web服务.

该应用程序是在iOS上的Monotouch中编写的.

iphone wlan xamarin.ios ios

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

VS2017 MSBuild 自动检测为 WPF 项目采用 MSBuild/v14 而不是 v15

我们正在慢慢迁移到 VS2017,大部分项目都是默默地做,没有太多干扰。今天开始将一个WPF项目从VS2015迁移到VS2017。当我构建解决方案时,我收到以下警告:

MSBuild auto-detection: using msbuild version '14.0' from 'C:\Program Files (x86)\MSBuild\14.0\bin'.
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索了这个问题,但我似乎一个人在那里。我不知道是什么导致了这种情况。.Net 目标是 4.5.1,但将其更改为 4.6.2 没有任何区别。也不会清理或删除 bin 和 obj 目录。谁有线索?

msbuild wpf visual-studio-2017

5
推荐指数
2
解决办法
7554
查看次数

MvxCachingFragmentCompatActivity消失了吗?

我正在尝试升级到MvvmCross 5.2并在MvxCachingFragmentCompatActivity上获得语法错误.这堂课消失了吗?

android mvvmcross

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

不能完全限定enum,这是一个bug吗?

这让我难倒了几分钟.出于某种原因,我无法在下面的"测试"课程中限定常量.编译器认为'A'是'ABA'命名空间的结尾,因此没有看到常量.任何人都可以告诉我为什么资格'ABConstants.Constants.A'在这里不起作用?

namespace A.B.Constants
{
    public class Constants
    {
        public enum A
        {
            A,
            B
        };
    }
}

namespace A.B.A
{
    public class Test
    {
        A.B.Constants.Constants.A enumA; // Error here on the 'B'
        Constants.Constants.A secondEnumA; // This works
    }
}
Run Code Online (Sandbox Code Playgroud)

c#

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

.Net 6 如何确定其环境

我创建了一个 .Net 6.0 控制台应用程序。我需要它能够使用实体框架迁移数据库。现在,当我运行它时,它说它的环境是“生产”。那是在哪里配置的呢?

在此输入图像描述

这是应用程序的启动代码。

    static void Main(string[] args)
    {
        using IHost host = Host.CreateDefaultBuilder(args)
            .UseSerilog((context, loggerConfiguration) => loggerConfiguration
                .ReadFrom.Configuration(context.Configuration)
                .WriteTo.Console())
            .ConfigureServices((context, services) =>
            {
                services.RegisterCoreServices(context.Configuration);
            })
            .Build();

        CallBatch(host.Services, args);

        host.RunAsync();
    }
Run Code Online (Sandbox Code Playgroud)

environment console-application .net-6.0

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

C# 字符串格式模式,用于将数字截断为小数点后两位(例如金钱),或者在尾随零的情况下不截断

如何将以下示例数字(十进制、双精度或浮点数)转换为小数点后两位,并将数字向右截断(向下舍入):

77.1455
52.00
714.1554
5552.0001
Run Code Online (Sandbox Code Playgroud)

应该变成这样

"77.14"
"52"
"714.15"
"5552"
Run Code Online (Sandbox Code Playgroud)

有的建议

String.Format("G29");
String.Format("0.00");
Run Code Online (Sandbox Code Playgroud)

但它们并没有按预期工作。

c#

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

Delphi 中的属性有更短的表示法吗?

我通常使用 C# 编程,但也使用旧语言 Delphi。据我所知,在 Delphi 中,属性使用大量代码,如下所示:

private
  FOPPORTUNITY_NR   : string;

  procedure SetOPPORTUNITY_NR(const aOPPORTUNITY_NR: string);
  function  GetOPPORTUNITY_NR: string;

public
  property  OPPORTUNITY_NR: string read GetOPPORTUNITY_NR write SetOPPORTUNITY_NR;

implementation

procedure TTypeName.SetOPPORTUNITY_NR(const aOPPORTUNITY_NR: string);
begin
  if (SpecialStrUtils_13.IsBlankStr(aOPPORTUNITY_NR)) then
    raise Exception.CreateFmt('OPPORTUNITY_NR cannot be empty');

  FOPPORTUNITY_NR := aOPPORTUNITY_NR;
end;

function TTypeName.GetOPPORTUNITY_NR: string;
begin
  if (SpecialStrUtils_13.IsBlankStr(FOPPORTUNITY_NR)) then
    raise Exception.CreateFmt('OPPORTUNITY NUMBER not set');

  Result := FOPPORTUNITY_NR;
end;
Run Code Online (Sandbox Code Playgroud)

在 C# 中,我可以像这样编写上面的代码:

private string? _opportunityNr = null;

public string OpportunityNr 
{ 
    get => _opportunityNr ?? throw new Exception("Opportunitynr not set"); …
Run Code Online (Sandbox Code Playgroud)

delphi properties

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