展开

关键词

dotnet SDK Style 项目格式如何使用 InternalsVisibleToAttribute 功能

如果一个项目想要让其他某个指定项目可以使用到 internal 类或成员,可以通过标记 InternalsVisibleToAttribute 方式实现 最简单方法是建一个 AssemblyInfo.cs ,只能被强签名程序集可见 如果想要在 csproj 文件上面写,也可以,在 ItemGroup 添加下面代码 <ItemGroup> <AssemblyAttribute Include 生成,内容刚才 AssemblyInfo.cs 文件是差不多 所以本质上是通过预编译创建 AssemblyInfo.cs 文件实现。 安装 NuGet 方法是在 csproj 里面添加下面代码 <ItemGroup> <PackageReference Include="Meziantou.MSBuild.InternalsVisibleTo 其实是通过 通过重写预定义<em>的</em> Target 来扩展 MSBuild / <em>Visual</em> <em>Studio</em> <em>的</em>编译过程 - walterlv <em>的</em>方法,类似如下代码实现 <Target Name="AddInternalsVisibleTo

23620

win10 uwp 使用 msbuild 命令行编译 UWP 程序

尝试在本地从开始菜单打开开发命令提示符,或者从使用命令行调用本机 VisualStudio 编译命令行 cmd> "C:\Program Files (x86)\Microsoft Visual Studio Visual Studio\2017\Enterprise\Common7\Tools\ 找到 LunchDevCmd.bat 文件 运行之后可以看到下面界面 > "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools\LaunchDevCmd.bat" *********************** *********************************************** ** Visual Studio 2017 Developer Command Prompt v15.8.5 ************** C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise> 先进入项目所在文件夹,也就是 sln 或

43720
  • 广告
    关闭

    腾讯云618采购季来袭!

    一键领取预热专享618元代金券,2核2G云服务器爆品秒杀低至18元!云产品首单低0.8折起,企业用户购买域名1元起…

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

    超好用C#控制台应用模板

    通常我们选择是 Visual Studio 自带 Console App 模板,这个经典模板只有预设好 csproj 文件空荡荡 Main 方法,偶尔还会附送一行 Console.WriteLine 也可以在 Visual Studio 2017 Extensions and Updates 中输入 C# Console App Boilerplate 搜索并安装: ? 安装完成后,通过 Visual Studio 再次建 Project 时,就可以在 Visual C# 分类下找到 Console App Boilerplate 两个模板。 ? 此外,无论是 .NET Core 还是 .NET Framework 版本 csproj 文件都采用了 MSBuild 15.0 引入 project SDK 格式。 它使用方法非常简单,GitHub 项目一页 README 便已阐述清楚,亦支持跨平台。 反之,如果仅仅想运行几行代码,又不愿等 Visual Studio 启动呢?

    63530

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

    Visual Studio 是怎么让 csproj内容正确显示出来呢?更深入,我能够自己扩展 csproj 功能吗? 本文将直接从 csproj 文件格式本质来看以上这些问题。 传统 csproj 文件中有大量重复或者相似内容,只为 msbuild Visual Studio 能够识别整个项目属性结构,以便正确编译项目。 这是我地址:C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Microsoft.CSharp.targets 当 Visual Studio 打开项目时,它会解析里面所有 Import 节点,确认应该引入 .props .targets 文件都引入了。 ——这只是 Visual Studio事情。 在编译时,msbuild 或 Roslyn 还会重做一遍上面事情——毕竟这两个才是真正编译器,可不是 Visual Studio 一部分啊。

    72310

    将 WPF、UWP 以及其他各种类型csproj 迁移成基于 Microsoft.NET.Sdk csproj

    迁移普通 .NET Framework 类库项目文件 目前只有基于 .NET Core .NET Standard 普通项目能够使用这种 csproj 文件。 第五步:删除 Properties 文件夹里面所有文件,因为这些信息已经被 csproj 文件记录并自动生成了。 然而我并不知道是否是因为旧版本 Visual Studio 2017 不支持在 csproj 中编译 XAML。 你 必须将 Visual Studio 升级到 15.8 以上版本,否则WPF 或者 UWP 项目迁移成项目之后,默认 XAML 文件会不可见,每次都需要手工去 csproj 中删掉自动增加错误 to new csproj: Visual Studio 2017 upgrade guide Using the new .Csproj without .Net core · Issue #1688

    56420

    .NET Core多平台开发体验: Windows

    当我们在敲这行文字时候,Visual Studio版本为2017(15.3)。顺便说一下,Visual Studio已经提供了Mac版本。 Visual Studio 2017提供了社区版(Community)、专业版(Professional)企业版(Enterprise),其中社区版是免费,专业版企业版需要付费购买。 这个.csproj文件结构并不是为一般开发者设计,我们也不会直接编辑这个文件,而是利用Visual Studio间接地修改它。 如果使用Visual Studio 2017来开发.NET Core应用,我们最常使用是由IDE提供可视化NuGet安装方式。 这个特性在Visual Studio 2017上做了进一步改进。

    44770

    Visual Studio 2017 问题集锦

    前几天微软发布Visual Studio 2017 RC版,第一时间下载安装并体验了一番,把我之前在Visual Studio 2015下面写IP高精度定位网站升级到VS2017项目,在此期间遇到了点问题 ,就在这里开一篇文件,来统一写一下在使用2017过程中遇到问题及解决方法吧,该文章不定期。 以下问题是在.Net Core项目下出现+++ 1.类库改变 在使用VS2015写.net core项目时候,如果要建类库,可以直接建.Net Core类库,之后在其他项目下调用,而在VS2017 此时,打开网站项目下.csproj文件,添加如下代码: <ItemGroup> <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools .NET Core 1.0.1 <em>的</em>SDK,重<em>新</em>安装.NET Core 1.1.1 <em>的</em>SDK就可以了 以上。

    27820

    MSBuildRoslyn NuGet 100 个坑

    我摘取了一些入门系列文章,也许你可以通过阅读这些来了解下: 理解 C# 项目 csproj 文件格式本质编译流程 迁移 csproj 文件到基于 Microsoft.NET.Sdk 创建基于 MSBuild 100 个坑 不可用源 NuGet 可以指定多个包源。既可以在 Visual Studio 中配置,也可以在配置文件中配置。 ? ? <? 项目文件 Sdk 来回切换 MSBuild 15.0 为项目文件根节点 Project 带来了 Sdk 属性,也就是说 Visual Studio 2017 开始支持。 将 WPF、UWP 以及其他各种类型csproj 迁移成基于 Microsoft.NET.Sdk csproj 一文讲述了如何为项目文件添加 Sdk 属性,以便项目能够体验到最 Microsoft.NET.Sdk (我 Visual Studio 版本 2017.7.4,Microsoft.NET.Sdk 版本 2.1.300。) 这时,把这两个文件重csproj 中 Import 一次却能正常。

    69320

    Visual Studio 使用通配符批量添加项目文件

    Visual Studio 使用通配符批量添加项目文件 发布于 2017-09-26 13:12 更于 2018-01-15 15:52 Visual Studio 项目文件其实是支持使用通配符,尤其适合添加大量资源文件。 通常大家都不会关心 Visual Studio 项目文件里是如何记录这个项目所包含所有文件,因为各位开发者们早已经习惯于右键添加文件或者拖拽文件进项目了。 但是,Visual Studio 提供项目文件(*.csproj)其实是支持通配符。 请阅读原文: https://walterlv.com/post/vs/2017/09/26/wildcards-in-vs-projects.html ,以避免陈旧错误知识误导,同时有更好阅读体验

    78210

    Visual Studio 使用通配符批量添加项目文件

    Visual Studio 使用通配符批量添加项目文件 发布于 2017-09-26 21:12 更于 2018-12-14 01:54 Visual Studio 项目文件其实是支持使用通配符,尤其适合添加大量资源文件。 通常大家都不会关心 Visual Studio 项目文件里是如何记录这个项目所包含所有文件,因为各位开发者们早已经习惯于右键添加文件或者拖拽文件进项目了。 但是,Visual Studio 提供项目文件(*.csproj)其实是支持通配符。 请阅读原文: https://blog.walterlv.com/post/vs/2017/09/26/wildcards-in-vs-projects.html ,以避免陈旧错误知识误导

    37020

    Lazarus APT攻击手法之利用Build Events特性执行代码复现

    此后攻击者便会向安全研究人员分享了一个Visual Studio项目工程文件,该项目文件明为一些漏洞POC代码,暗则是包含了等待目标研究员编译执行来触发恶意命令代码。 在Lazarus组织中是利用Visual Studio进行利用,那么我们来复现一下利用手法: 1.打开Visual Studio 2.建一个项目 3.进入项目属性 就可以看到了,正如上面看到具有 The project files in Visual Studio (.csproj, .vbproj, .vcxproj, and others) contain MSBuild XML code 不难理解,MSBuild可以在未安装Visual Studio环境中编排构建产品(可以简单理解为执行可以代码),而且Visual Studio使用MSBuild加载生成托管项目。 例如:Visual Studio项目文件.csproj,.vbproj,.vcxproj等, 在.NET Framework 4.0中支持了一项功能”Inline Tasks”,被包含在元素UsingTask

    12010

    .net 知:【4】NuGet简介使用

    NuGet 客户端工具 要使用 NuGet,作为软件包使用者或创建者,可以使用命令行接口 (CLI) 工具以及 Visual Studio NuGet 功能。 dotnet CLI 随某些 Visual Studio 工作负载一起安装,例如 .NET Core 。 从 Visual Studio 2017 开始dotnet CLI 将自动随任何与 .NET Core 相关工作负载一起安装。 这种方式现在基本不使用,因为我们一般不会去单独安装,都是安装VS后直接使用就行了,除非你还在使用Visual Studio 2017 以前版本。 至于他们有什么区别呢? 可以进行程序包查找安装包管理,对包进行卸载更。 在右上角有一个程序包源,可以进行包源设置,设置包源地址。默认是将 NuGet.org 用作 NuGet 客户端包存储库。

    14340

    vs使用指南

    项目n{   属性;   引用;   类;   } } 3、 csproj文件作用 “csproj文件究竟是做什么用csproj文件 是“C Sharp Project”缩写。 那么它究竟是给谁用呢?那是给开发工具用,例如我们再熟悉不过Visual Studio,以及大家可以没有接触过,但是应该都听说过MSBuild.exe。 Visual Studio会根据csprojXML定义来管理项目文件以及相关其他一些种类非常丰富数据及操作,MSBuild也会根据csproj文件来得知编译这个项目需要有哪些依赖,默认输出路径,Pre-Build Post-Build需要哪些操作等等。 Visual StudioMSBuild都是开发工具,这就是csproj存在唯一意义:为“开发环境”提供信息。而到了运行环境中,根本不会有人(操作系统?)

    16920

    探索 .Net Core SourceLink

    介绍 Source Link是一组软件包一个规范, 它将一些元数据添加到PDB文件,以将本地文件重映射到GitHub上文件,因此Visual Studio可以在这需要时下载文件, 该项目是可以为使用 Studio 2017 15.3以上版本中已经集成了Source Link , 现在你可以非常方便在VS中调试 .Net Core Nuget分发软件包源代码,并且不需要安装 ReSharper Studio Team Services) Azure DevOps Server (former Team Foundation Server) Bitbucket 快速使用 必须满足 Visual Studio 2017 15.3以上版本,然后做一下简单设置 打开 工具 -> 选项 -> 调试, 勾选 启用源链接支持,取消勾选 启用仅我代码 设置符号包(symbol packages) 地址 ,它包含了源代码文件url地址 Newtonsoft.Json 是我经常使用一个软件包, 也是 Nuget 下载量第一包,我想看一下它源代码,了解如何进行序列化,我建了一个 .Net Core

    27930

    探索 .Net Core SourceLink

    介绍 Source Link是一组软件包一个规范, 它将一些元数据添加到PDB文件,以将本地文件重映射到GitHub上文件,因此Visual Studio可以在这需要时下载文件, 该项目是可以为使用 Studio 2017 15.3以上版本中已经集成了Source Link , 现在你可以非常方便在VS中调试 .Net Core Nuget分发软件包源代码,并且不需要安装 ReSharper 必须满足 Visual Studio 2017 15.3以上版本,然后做一下简单设置 打开 工具 -> 选项 -> 调试, 勾选 启用源链接支持,取消勾选 启用仅我代码 ? [3] Newtonsoft.Json 是我经常使用一个软件包, 也是 Nuget 下载量第一包,我想看一下它源代码,了解如何进行序列化,我建了一个 .Net Core 控制台项目,现在断点在序列化这一步 [6] 右键项目编辑项目文件, 编辑csproj文件 <PropertyGroup> <TargetFramework>netstandard2.0</TargetFramework>

    19310

    vs2015编写c#项目下各文件解析 vs项目结构解析vs项目结构解析

    Studio window locations Visual Studio采用两种文件类型(.sln.suo)来存储特定于解决方案设置,它们总称为解决方案文件。 *.suo文件偶尔会被破坏,从而在构建编辑应用程序时出现意想不到结果。如果Visual Studio对于每个解决方案不稳定,就应删除.suo文件。 ,就会出现在Form1.cs里 其实在早期版本Visual Studio里,是没有Form1.Designer.cs,窗体设计类逻辑类全在一个文件里。 Visual Studio会根据csprojXML定义来管理项目文件以及相关其他一些种类非常丰富数据及操作,MSBuild也会根据csproj文件来得知编译这个项目需要有哪些依赖,默认输出路径,Pre-Build Visual StudioMSBuild都是开发工具,这就是csproj存在唯一意义:为“开发环境”提供信息。而到了运行环境中,根本不会有人(操作系统?)

    79951

    CSharp工程中几个文件

    、xml等 项目所引用程序集信息,包含本地dll与Nuget包 其它信息 Visual Studio中对项目所做配置,均可在该文件中体现出来。 同样,Visual Studio也是根据该文件中内容来加载项目。抛开Visual Studio其它功能,可以将其看作是.csproj文件图形管理工具。 Web.config & App.config .NET Framework 使用Visual Studio创建Web项目(MVC或Web Api)时,会在根目录生成Web.config文件。 注意,这里所引用是项目在运行时所需程序集,而.csproj中描述程序集是项目中添加引用,二者有区别:项目中添加引用在运行时未必会用到。 包: [zvdx6amfla.jpg] 我们通过Nuget命令行或者Visual Studio图形界面来管理Nuget包,当Nuget包发生变更时,packages.config与.csproj文件内容及

    19120

    CSharp工程中几个文件

    、html、js、config、xml等 项目所引用程序集信息,包含本地dll与Nuget包 其它信息 Visual Studio中对项目所做配置,均可在该文件中体现出来。 同样,Visual Studio也是根据该文件中内容来加载项目。抛开Visual Studio其它功能,可以将其看作是.csproj文件图形管理工具。 Web.config & App.config .NET Framework 使用Visual Studio创建Web项目(MVC或Web Api)时,会在根目录生成Web.config文件。 注意,这里所引用是项目在运行时所需程序集,而.csproj中描述程序集是项目中添加引用,二者有区别:项目中添加引用在运行时未必会用到。 包: 我们通过Nuget命令行或者Visual Studio图形界面来管理Nuget包,当Nuget包发生变更时,packages.config与.csproj文件内容及packages文件夹都会发生相应变化

    31110

    使用 WCF Web Service Reference Provider 工具

    多年来,许多 Visual Studio 开发者在其. NET Framework 项目需要访问 Web 服务时,都享受到了添加服务引用工具所带来工作效率。 WCF Web 服务引用工具是 Visual Studio 连接服务扩展,提供了类似于 .NET Core ASP.NET Core 项目“添加服务引用”功能体验 。 系统必备 Visual Studio 2017 版本 15.5 或更高版本 如何使用扩展 备注 “WCF Web 服务引用”选项适用于使用以下项目模板创建项目 : Visual C# > .NET 在名为“reference.cs”文件中生成服务引用代码,并将其添加到“连接服务”节点下项目 。 使用在目标平台上编译运行所需 NuGet 包引用更项目文件 (.csproj)。 另请参阅 Windows Communication Foundation 应用程序入门 Visual Studio Windows Communication Foundation 服务 WCF

    10130

    扫码关注云+社区

    领取腾讯云代金券