首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

gRPC遇见.NET SDK和Visual Studio:构建时自动生成编码

你不再需要使用手写脚本从.proto文件生成代码:.NET构建神奇地为你处理此问题。...这是有道理的,因为程序包只包含编译器、代码生成器和导入文件,这些在.proto文件编译的项目之外是不需要的。虽然,在这个简单的演练中并非严格要求,但始终应该是你的标准做法。...在本演练中,我们将在命令中添加日志切换开关-v:n,所以我们可以看到编译helloworld.proto文件的命令是在运行。你可能会发现,在第一次编译项目时,总是这样做是个好主意!...当然,你也可以将.cs文件添加到同一个项目中:毕竟,它是构建.NET库的常规C#项目。我们在RouteGuide示例中是这样做的。...该软件包还扩展了Visual Studio的“属性”窗口,因此你可以在Visual Studio界面中为每个文件设置一些选项。

2.1K20

使用命令行导出 SQL Server 数据层应用程序

我们可以使用 SSMS 导出 SQL Server 数据库的数据层应用程序。我在本地机器上使用这种方法已经有好几年了。...DAC 是 SQL Server 数据库部署的一个自包含单元,它使数据层开发人员和数据库管理员能够将 SQL Server 对象打包到一个名为“DAC 包”(也称作 DACPAC)的可移植项目中。...但是,要跑在自动化环境下工作, 如 CI/CD 环境,或一些自动的计划任务。我们通常需要在命令行下完成。 ?...微软提供了一个跨平台的命令行工具, 可以导入/导出DAC: sqlpackage.exe 它是用.NET写的,目前 Linux 和 macOS 的版本还在预览中。...(short form /scs) /TargetFile: Specifies a target file (i.e., a .dacpac files) to be used as

1.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    WPF 讲讲 Microsoft.NET.Sdk.WindowsDesktop 的原理

    在使用 .NET Core 3.0 和以上版本,可以使用新的 SDK 版本支持的 csproj 项目文件,这个 SDK 格式的项目文件可以支持 .NET Core 以及 .NET Framework 版本的...WPF 核心就是在 csproj 项目的第一句话。...或者说自己看代码也是很棒的 在新建的 SDK 格式的 csproj 项目文件里面,第一句话是引用 SDK 如下面代码 的引用有以下要求 存在这个 App.xaml 文件夹 用户没有设置 EnableDefaultApplicationDefinition 为false也就是不添加默认的文件 这个项目是 csproj...在 targets 文件里面主要是用来更改构建步骤的,功能如下 移除重复的页面引用 提示构建项重复 提示 SDK 版本警告 移除重复的页面引用,需要移除页面里面引用的 @(Resource);@(Content

    1.5K10

    升级Jenkins镜像,支持.NET6.0

    目前主要使用Docker来构建镜像,常见的主要是两种解决方案,两种方案又对应不同的操作。...方式一、外部编译 很久之前在使用Jenkins的时候,采用的是编译项目和构建镜像分开的两步,在Dockerfile中,只是Copy在Jenkins里发布好的可执行文件,这种在外部编译的方案也慢慢的被放弃了...Jenkins,因为需要对应的SDK嘛是吧,所以我也为了满足一部分在使用这种方式的小伙伴,升级了下我自己的Jenkins镜像,自己拉取下来,run一下就行,目前这个镜像里包含了.NET3.1/5.0/6.0...相应的Dockerfile我已经上传到了Github: https://github.com/anjoy8/devops 为了将敏捷开发中,一些资料和总结的方案给记录下来,供大家来学习和使用,如果有比较爱好开源的小伙伴...EXPOSE 9291 ENTRYPOINT ["dotnet", "Blog.Core.Api.dll"] 这种方式是在容器内部进行项目还原,编译和打包操作,然后执行镜像的构建。

    45820

    教程:创建模板包

    在本系列的这一部分中,你将了解如何: 创建一个 *.csproj 项目以生成模板包 配置项目文件以进行打包 从 NuGet 包文件安装模板包 按包 ID 卸载模板包 先决条件 完成本系列教程的第 1 部分和第...创建模板包项目 模板包是打包到 NuGet 包中的一个或多个模板。 安装或卸载模板包时,将分别添加或删除包中包含的所有模板。 本系列教程的前几部分仅适用于各自的模板。...通过更改 .csproj 的设置,可以阻止它编译任何代码,而是将模板的所有资产都包含在内作为资源。 生成此项目后,它会生成模板包 NuGet 包。 将要创建的包将包含先前创建的项模板和包模板。...由于我们将两个模板分组到 working\templates\ 文件夹中,因此可以使用 .csproj 文件的 working 文件夹。 在终端中,导航到 working 文件夹。...-n 参数将 .csproj 文件名设置为 templatepack.csproj 。 -o 参数将在当前目录中创建文件。 应看到类似于以下输出的结果。

    69310

    dotnet 打包 NuGet 的配置属性大全整理

    可参阅此博客提供的方法将旧的 csproj 格式升级到 SDK 风格的 csproj 格式 在 csproj 项目文件里面,支持编辑内容,在 PropertyGroup 标签里面添加属性值。...nuspec 文件啦) - walterlv Roslyn 如何了解某个项目在 msbuild 中所有用到的属性以及构建过程 CSPROJ 系属性 PackageId 包的 Id 属性,这是不区分大小写的包标识符...没有开启此属性时,是需要有额外的打包过程,例如 dotnet pack 或者在 VisuslStudio 里右击打包。开启此属性之后,每次构建都会输出 NuGet 包。...此时构建时生成的 PDB 文件里面将包含项目的所有生成相关的源代码。...用来实现无论在哪台打包服务器上以及在任何时候打包都会输出相同 这个 ContinuousIntegrationBuild 属性在本机构建调试时,都不应该设置为 true 的值。

    1.5K20

    理解 C# 项目 csproj 文件格式的本质和编译流程

    总览 csproj 文件 相信你一定见过传统的 csproj 文件格式。就算你几乎从来没主动去看过里面的内容,在版本管理工具中解冲突时也在里面修改过内容。...csproj 中的两个大头都这样不带语义,几乎可以说明 csproj 文件是不包含语义的,它能够用来做什么事情纯属由其他模块来指定;这为 csproj 文件强大的扩展性提供了格式基础。...不过,它们在处理我们的项目文件时的行为大多是一致的——至少对于通常项目来说如此。 我们前一部分介绍每个部件的时候,已经简单说了其组织方式,这里我们进行一个回顾和总结。...——这只是 Visual Studio 做的事情。 在编译时,msbuild 或 Roslyn 还会重新做一遍上面的事情——毕竟这两个才是真正的编译器,可不是 Visual Studio 的一部分啊。...NuGet 包时自动为我们在 csproj 中插入了以上代码。

    2.6K10

    IIncrementalGenerator 增量 Source Generator 生成代码入门 读取 csproj 项目文件的属性配置

    本文属于入门博客,但非编程新手友好,期望阅读本文之前,已了解源代码生成和项目构建和项目组织的基础知识 阅读本文,你可以了解到如何在进行增量的源代码生成过程中,读取项目文件里面的属性,从而执行特殊的逻辑...本文的例子期望达成的是,读取 csproj 项目文件里面的 MyCustomProperty 属性,将此属性的文本内容,作为生成代码的一部分。...在 LainewihereJerejawwerye.Analyzers 里面,作为分析器项目,将实现源代码生成逻辑 编辑 LainewihereJerejawwerye.Analyzers 的 csproj...csproj 项目文件里面的属性,就需要明确使用 CompilerVisibleProperty 包含其对分析器可见的属性名。...获取时,需要分析器项目使用 TryGetValue 方法,且要求在属性前面加上 build_property. 前缀。

    1.6K30

    《从零开始学ASP.NET CORE MVC》:ASP.NET Core Web 项目文件(四)

    ASP.NET Core Web 项目文件 在本视频中,我们将探索并了解asp.net core项目文件。 我们使用C#作为编程语言,因此项目文件具有.csproj扩展名。...简单解释后的意思就是。在以前的ASP.NET中,当我们使用解决方案资源管理器向项目添加文件或文件夹时,项目文件中会包含对该文件或文件夹的引用。...在项目的根目录中存在的所有文件和文件夹都是属于项目的一部分,将显示在解决方案资源管理器中。 当您在添加文件或文件夹时,该文件或文件夹将会变成项目的一部分,会立即显示在解决方案资源管理器中。...同样,当您在解决方案下的任何文件夹中删除文件或文件夹时,该已删除的文件或文件夹不再是项目的一部分,会立即从解决方案资源管理器中不再显示出来。 另外我们与项目文件的工作方式也发生了变化。...PackageReference:顾名思义,此元素用于包含对为您的应用程序安装的所有NuGet包的引用。在项目文件中,我们有以下2个NuGet包。

    1.4K30

    快速入门:构建您的第一个 .NET Aspire 应用程序

    共享 .NET Aspire 项目文件包含IsAspireSharedProject设置为的属性true: 将 Redis 容器添加到应用程序模型时使用的AddRedisOutputCache相同的调用。这将应用程序配置为使用 Redis 进行输出缓存。...这是将 API 项目添加到应用程序模型时使用的名称,配置了服务发现后,它将自动解析为 API 项目的正确地址。 在本地测试应用程序 示例应用程序现已准备好进行测试。...在 Visual Studio 中,通过右键单击“解决方案资源管理器”中的项目并选择“设置为启动项目”,将AspireSample.AppHost项目设置为启动项目。然后,按运行该应用程序。...使用页面顶部的下拉菜单选择您想要显示日志的项目。 容器:显示应用程序中容器的日志。您应该会看到来自作为模板一部分配置的容器的 Redis 日志。

    2.1K180

    【实验手册】使用Visual Studio Code 开发.NET Core应用程序

    Visual Studio Code 是微软为广大开发人员提供的免费开源的跨平台代码编辑器,和其它流行的代码编辑器,如:Sublime, Atom一样,它非常小,运行速度快,同时通过各种插件支持不同开发语言的编写...八、 我们现在配置一下这个新生成的task.json吧。也就是在tasks配置项中添加如下内容,指定一下任务在build时的直接命令对象。...tasks.json 用于dotnet 构建任务的配置数据,当你按下F5 启动调试时VS Code 可以生成项目 { // See https://go.microsoft.com/fwlink/?...任务栏应显示您可以选择附加调试器的正在运行的进程的列表 - 在本示例中,我们将附加到正在运行的dotnet网站进程。 ?...dotnet sln add **/*.csproj 现在,当我们调用list我们的解决方案文件时,我们应该得到以下输出: S D:\WorkTest\piedpiper\src> dotnet sln

    3.4K90

    教程:创建项目模板

    在本系列的这一部分中,你将了解如何: 创建项目模板的资源 创建模板配置文件夹和文件 从文件路径安装模板 测试项模板 卸载项模板 先决条件 完成本系列教程的第 1 部分。...在本例中,你将创建一个启用 C# 10.0 并生成 async main 入口点的新控制台项目。...; 修改 consoleasync.csproj 将项目使用的 C# 语言版本更新到 10.0 版。...删除这些文件可确保你的模板仅包含与模板相关的文件,而不包含生成操作产生的任何文件。 现在你已经创建了模板的内容,需要在模板的根文件夹中创建模板配置。...创建模板时,除特殊配置文件夹外,模板文件夹中的所有文件和文件夹都作为模板的一部分包含在内。 此配置文件夹名为“.template.config” 。

    1.1K20

    技术速递|使用 Native Library Interop 为 .NET MAUI 创建绑定

    当您想要使用不是用 C# 编写的第三方 iOS 或 Android 库时,您需要一种在 .NET MAUI 应用程序中使用它的方法。...此过程反映了适用于 iOS 和 Android 的 .NET 的功能;当您在 C# 中使用本机 iOS 或 Android API 时,由于为核心 API 创建的绑定,它是可访问的。...如果想从现有的绑定示例(Facebook、Firebase、GoogleCast)开始构建,则应从相应文件夹中包含的示例开始。然而,由于我有兴趣从一个完全不同的库创建绑定,因此我将从模板开始!...不过,当我准备使用 .NET 9 时,我会分别更新 Charts.MaciOS.Binding.csproj 和 Charts.Android.Binding.csproj 中的 TargetFrameworks...为了简单起见,我将在模板附带的 .NET MAUI 示例应用程序中使用它,该示例应用程序已在 MauiSample.csproj 中为我引用了 .NET 绑定库: <!

    8200

    WPF 修复 dotnet 6 与源代码包冲突

    在 dotnet 6 时,官方为了适配好 Source Generators 功能,于是默认就将 WPF 的 XAML 构建过程中,引入第三方库的 cs 文件,这个功能默认设置为开启。...刚好源代码包为了修复在使用 dotnet 6 SDK 之前,在 WPF 的构建 XAML 过程中,不包含第三方库的代码文件,从而使用黑科技将源代码包加入到 WPF 构建 XAML 中。...在 VisualStudio 升级到 2022 版本,或者是升级 dotnet sdk 到 dotnet 6 版本,将会更新构建调度,让源代码包里的代码文件被加入两次,从而构建失败 修复方法很简单,在不更改源代码包的前提下...TargetFramework 为 net6.0-windows 的 WPF 应用,而是任何使用 SDK 风格的 WPF 项目。...其原因是 dotnet 6 此更改是在 dotnet sdk 更改构建调度过程,和具体应用的框架无关,只影响构建本身 更多关于 WPF 构建过程,请看 WPF 程序的编译过程 - walterlv

    76350

    项目文件中的已知属性(知道了这些,就不会随便在 csproj 中写死常量啦)

    说明你用了旧格式的 csproj,阅读我的另一篇文章 将 WPF、UWP 以及其他各种类型的旧 csproj 迁移成基于 Microsoft.NET.Sdk 的新 csproj 将它转为新格式之后,你就会觉得这么简短精炼的...比如通过以下写法,可以将所有的 *.xaml.cs 文件折叠到对应的 *.xaml 文件下,而不需要像旧 csproj 格式那样每个文件都写一份: <Compile Update="**\*.xaml.cs...---- 以下属性控制哪些文件应该被默认包含在编译中,可以在 Microsoft.NET.TargetFrameworkInference.targets 找到。...---- 下面是 Microsoft.NET.Sdk 中的一部分源码,在 Microsoft.NET.Sdk.DefaultItems.props 文件中,可以发现还有更多与控制自动引入文件相关的属性。...如果希望了解在 csproj 中创建 NuGet 包时可用的属性,请参考我的另一篇博客:项目文件中的已知 NuGet 属性(知道了这些,创建 NuGet 包就可以不需要 nuspec 文件啦) - 吕毅

    1.6K10

    将 .NET Aspire 部署到 Kubernetes 集群

    容器注册中心 您将构建为容器的 csproj 文件(项目)必须至少包含 ContainerRegistry,否则 sdk 将引发 CONTAINERS1013 错误。...ContainerRegistry:设置此项后,csproj 中不需要再指定它。 ContainerTag:设置此项后,如果 csproj 中没有,则将覆盖使用的容器标签。...TemplatePath:自定义加载转换为清单的模板时使用的路径,您可以从源中获取模板文件夹,并使用所有自定义更改修改您的内容,并且只要您不删除占位符, aspirate 将使用它们。...可以通过传递标志来跳过构建 --skip-build 。 默认情况下,您的清单将位于 AppHost/aspirate-output目录中。...构建 Build 命令将构建 aspire 清单文件中定义的所有项目,并将容器推送到插入的 ContainerRegistry。

    58010

    ASP.NET Core 实战:使用 Docker 容器化部署 ASP.NET Core + MySQL + Nginx

    在 Linux 中可以使用 \ 加 Enter 在输入很长很长的语句时进行换行,这里和后面的命令都是采用这样的方式。...打开 VS 为我们自动创建的 Dockerfile,可以看到清晰的分成了四块的内容。 ?   ...所以,这里我们需要使用 .NET Core SDK 中包含的 .NET Core CLI 进行还原和构建。   ...同时,因为我们在构建应用镜像的 Dockerfile 文件时,对外暴露了 80 端口,所以这里就可以通过 links 属性进行监听(如果构建时未暴露端口,你可以在 docker compose 文件中通过...当我们将程序打包成一个镜像之后,你完全可以将镜像上传到私有镜像仓库中,或是直接打包成镜像的压缩文件,这样,当需要切换部署环境时,只需要获取到这个镜像之后即可快速完成部署,相比之前,极大的方便了我们的工作

    5K40

    【实验手册】使用Visual Studio Code 开发.NET Core应用程序

    Visual Studio Code 是微软为广大开发人员提供的免费开源的跨平台代码编辑器,和其它流行的代码编辑器,如:Sublime, Atom一样,它非常小,运行速度快,同时通过各种插件支持不同开发语言的编写...八、 我们现在配置一下这个新生成的task.json吧。也就是在tasks配置项中添加如下内容,指定一下任务在build时的直接命令对象。...tasks.json 用于dotnet 构建任务的配置数据,当你按下F5 启动调试时VS Code 可以生成项目 { // See https://go.microsoft.com/fwlink/?...任务栏应显示您可以选择附加调试器的正在运行的进程的列表 - 在本示例中,我们将附加到正在运行的dotnet网站进程。 ?...dotnet sln add **/*.csproj 现在,当我们调用list我们的解决方案文件时,我们应该得到以下输出: S D:\WorkTest\piedpiper\src> dotnet sln

    5.2K102

    dotnet 简单控制台使用 KernelMemory 向量化文本嵌入生成和查询

    在构建 XAML 过程中创建的 tmp.csproj 过程中将不引用依赖的 nuget 包。...kernel.ImportTextAsync("在 dotnet 6 时,官方为了适配好 Source Generators 功能,于是默认就将 WPF 的 XAML 构建过程中,引入第三方库的 cs...刚好源代码包为了修复在使用 dotnet 6 SDK 之前,在 WPF 的构建 XAML 过程中,不包含第三方库的代码文件,从而使用黑科技将源代码包加入到 WPF 构建 XAML 中。...刚好源代码包为了修复在使用 dotnet 6 SDK 之前,在 WPF 的构建 XAML 过程中,不包含第三方库的代码文件,从而使用黑科技将源代码包加入到 WPF 构建 XAML 中。...在构建 XAML 过程中创建的 tmp. csproj 过程中将不引用依赖的 nuget 包。

    21110
    领券