C# 如何在VisualStudio中使用LINQPad脚本?

C# 如何在VisualStudio中使用LINQPad脚本?,c#,.net,visual-studio,.net-core,linqpad,C#,.net,Visual Studio,.net Core,Linqpad,问题。 如何在VisualStudio中使用LINQPad脚本 描述。 我在LINQPad中创建了Class Service.linq类。 如何在Visual Studio中使用Class Service.linq类 换句话说,我可以实现以下场景吗? 场景: 将ClassService.linq导入Visual Studio中的项目; 将ClassService.linq与Visual Studio中的项目同步; 同步逻辑: 更改了ClassService.linq->>更改了Visual St

问题。 如何在VisualStudio中使用LINQPad脚本

描述。 我在LINQPad中创建了Class Service.linq类。 如何在Visual Studio中使用Class Service.linq类

换句话说,我可以实现以下场景吗? 场景:

将ClassService.linq导入Visual Studio中的项目; 将ClassService.linq与Visual Studio中的项目同步; 同步逻辑:

更改了ClassService.linq->>更改了Visual Studio中的项目; 更改了类服务。linq<<-在Visual Studio中更改了项目; 我可以全部或部分执行这些操作吗

或者LINQPad用于解决方案的初步开发,然后手动将代码传输到*.cs文件

使用

LINQPad-6.9.15x64; Visual Studio—2019年。社区
您不能以这种方式轻松地共享源代码,因为.linq格式有一个带有查询属性的XML头,而与Visual Studio项目文件中的信息类似

但是,您可以通过引用在VS from LINQPad中创建的DLL来共享DLL。LINQPad将自动定位.deps.json文件(如果存在),并将项目的NuGet引用集成到查询中。如果将以下内容添加到项目中的源代码文件中,则可以从LINQPad访问程序集的内部类型:

[assembly: InternalsVisibleTo("LINQPadQuery")]
要共享DLL,请执行以下操作:


按LINQPad中的F4键,单击“添加/浏览”,从bin\debug文件夹中选择在VS中创建的DLL。该文件夹还将包含一个由VS创建的.deps.json文件,其中列出了项目的所有NuGet依赖项。LINQPad将自动读取此文件并将这些NuGet包添加到您的查询中。这里有一个InternalsVisibleTo示例:

您无法以这种方式轻松共享源代码,因为.linq格式有一个带有查询属性的XML头,与Visual Studio项目文件中的信息非常相似

但是,您可以通过引用在VS from LINQPad中创建的DLL来共享DLL。LINQPad将自动定位.deps.json文件(如果存在),并将项目的NuGet引用集成到查询中。如果将以下内容添加到项目中的源代码文件中,则可以从LINQPad访问程序集的内部类型:

[assembly: InternalsVisibleTo("LINQPadQuery")]
要共享DLL,请执行以下操作:


按LINQPad中的F4键,单击“添加/浏览”,从bin\debug文件夹中选择在VS中创建的DLL。该文件夹还将包含一个由VS创建的.deps.json文件,其中列出了项目的所有NuGet依赖项。LINQPad将自动读取此文件并将这些NuGet包添加到您的查询中。这里有一个InternalsVisibleTo示例:

相反的方式是可能的:LinqPad 6现在允许共享*.cs文件。您可以编写类并将其存储为.cs文件,而不是尝试在Visual Studio中打开.linq文件

这有以下好处:

Visual Studio本机理解.cs文件 LinqPad可以加载.cs文件,因此您可以与Visual Studio共享同一文件 为此,在LinqPad中创建一个新的C程序

假设您有一个文件KeyValueClass.cs:

这将从Visual Studio项目编译KeyValueClass.cs文件,并在LinqPad中运行它

您甚至可以导入所有带有通配符的.cs文件,如

#load "C:\Users\Matt\source\repos\A. Demos\myRedisDemo\*.cs"
以及所有子目录,如:

#load "C:\Users\Matt\source\repos\A. Demos\myRedisDemo\*.cs /s"
最后,如果省略以下路径:

#load "KeyCalueClass.cs"

然后它将引用.linq文件所在的相同路径。

相反的方法是可能的:LinqPad 6现在允许共享*.cs文件。您可以编写类并将其存储为.cs文件,而不是尝试在Visual Studio中打开.linq文件

这有以下好处:

Visual Studio本机理解.cs文件 LinqPad可以加载.cs文件,因此您可以与Visual Studio共享同一文件 为此,在LinqPad中创建一个新的C程序

假设您有一个文件KeyValueClass.cs:

这将从Visual Studio项目编译KeyValueClass.cs文件,并在LinqPad中运行它

您甚至可以导入所有带有通配符的.cs文件,如

#load "C:\Users\Matt\source\repos\A. Demos\myRedisDemo\*.cs"
以及所有子目录,如:

#load "C:\Users\Matt\source\repos\A. Demos\myRedisDemo\*.cs /s"
最后,如果省略以下路径:

#load "KeyCalueClass.cs"

然后它将引用.linq文件所在的相同路径。

1。指的是从LINQPad在VS中创建的DLL-我不明白这意味着什么。你能更详细地描述一下这是怎么发生的吗?2.LINQPad将自动找到.deps.json文件,-这是如何发生的?这是谁的.deps.json文件,它位于哪里?在VS或LINQPad项目中?3. - 如果将以下内容添加到项目的源代码文件中,则可以从LINQPad访问内部生成类型:[assembly:]-能否给出更详细的示例。4. - 在哪里可以获得有关使用LINQPad的详细文档?按LINQPad中的F4键,单击“添加/浏览”,从bin\debug文件夹中选择在VS中创建的DLL。该文件夹还将包含一个由VS创建的.deps.json文件,其中列出了项目的所有NuGet依赖项。L
INQPad将自动读取此文件并将这些NuGet包添加到您的查询中。这里有一个内在的例子:我不明白。。。金块和它有什么关系?如果可能的话,如果您能解释需要采取的步骤,我将不胜感激。如果我理解你,我会这么看。示例:1。VS在示例中创建一个项目:WinForms;2.创建类Service.cs类;3.VS.class Service.cs创建方法Method1、Method2;4.VS.按F6。;问题:我如何在LINQPad程序中使用makechanges,调试Class Service.cs类?我想我已经解决了。。。我对你的答案做了修改。如果我理解正确,您可以在LINQPad和VS中使用相同的项目,只需使用以下方案:在VS中创建DLL并将创建的DLL添加到“LINQPad”项目中。结果:在VS项目中,我可以更改DLL方法,在LINQPad项目中,我只能使用DLL,但我不能更改DLL的方法。1.我理解正确吗?如果我理解错了,你能纠正我吗?2.在LINQPad和VS中是否有使用相同项目的方法?换句话说,有一个项目-1。我在LINQPad计划中对项目1进行了更改。结果更改可以在VS中查看,我在程序VS中对project-1进行了更改。作为更改的结果,您可以转到LINQPad.1。指的是从LINQPad在VS中创建的DLL-我不明白这意味着什么。你能更详细地描述一下这是怎么发生的吗?2.LINQPad将自动找到.deps.json文件,-这是如何发生的?这是谁的.deps.json文件,它位于哪里?在VS或LINQPad项目中?3. - 如果将以下内容添加到项目的源代码文件中,则可以从LINQPad访问内部生成类型:[assembly:]-能否给出更详细的示例。4. - 在哪里可以获得有关使用LINQPad的详细文档?按LINQPad中的F4键,单击“添加/浏览”,从bin\debug文件夹中选择在VS中创建的DLL。该文件夹还将包含一个由VS创建的.deps.json文件,其中列出了项目的所有NuGet依赖项。LINQPad将自动读取此文件并将这些NuGet包添加到您的查询中。这里有一个内在的例子:我不明白。。。金块和它有什么关系?如果可能的话,如果您能解释需要采取的步骤,我将不胜感激。如果我理解你,我会这么看。示例:1。VS在示例中创建一个项目:WinForms;2.创建类Service.cs类;3.VS.class Service.cs创建方法Method1、Method2;4.VS.按F6。;问题:我如何在LINQPad程序中使用makechanges,调试Class Service.cs类?我想我已经解决了。。。我对你的答案做了修改。如果我理解正确,您可以在LINQPad和VS中使用相同的项目,只需使用以下方案:在VS中创建DLL并将创建的DLL添加到“LINQPad”项目中。结果:在VS项目中,我可以更改DLL方法,在LINQPad项目中,我只能使用DLL,但我不能更改DLL的方法。1.我理解正确吗?如果我理解错了,你能纠正我吗?2.在LINQPad和VS中是否有使用相同项目的方法?换句话说,有一个项目-1。我在LINQPad计划中对项目1进行了更改。结果更改可以在VS中查看,我在程序VS中对project-1进行了更改。作为更改的结果,您可以转到LINQPad。