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

新的Microsoft.NET.Sdk项目在子目录中构建输出文件。怎么把它改回来呢?

要将新的Microsoft.NET.Sdk项目在子目录中构建输出文件改回来,可以按照以下步骤进行操作:

  1. 打开项目文件(.csproj)。
  2. 在项目文件中找到以下代码块:
代码语言:txt
复制
<PropertyGroup>
  <OutputPath>bin\$(Configuration)\</OutputPath>
  ...
</PropertyGroup>
  1. <OutputPath>标签中的值修改为bin\,即将子目录路径移除,使其变为:
代码语言:txt
复制
<PropertyGroup>
  <OutputPath>bin\</OutputPath>
  ...
</PropertyGroup>
  1. 保存并关闭项目文件。
  2. 重新构建项目,输出文件将会被放置在项目根目录下的bin文件夹中。

这样修改后,新的Microsoft.NET.Sdk项目将会在项目根目录下的bin文件夹中构建输出文件。

请注意,以上步骤适用于使用Microsoft.NET.Sdk项目模板创建的项目。如果项目使用了其他项目模板或自定义的构建配置,可能需要根据具体情况进行相应的调整。

此外,如果您需要了解更多关于Microsoft.NET.Sdk项目和相关技术的信息,可以参考腾讯云的相关产品和文档:

  • 腾讯云云服务器(CVM):提供可扩展的计算能力,适用于.NET应用程序的部署和运行。了解更多信息,请访问:腾讯云云服务器
  • 腾讯云云开发者工具包(Cloud SDK):提供丰富的命令行工具和API,用于管理和操作腾讯云资源。了解更多信息,请访问:腾讯云云开发者工具包
  • 腾讯云云函数(SCF):无服务器计算服务,可用于构建和运行.NET应用程序的事件驱动函数。了解更多信息,请访问:腾讯云云函数
  • 腾讯云对象存储(COS):提供安全、可靠、低成本的云端存储服务,适用于存储.NET应用程序的静态文件和数据。了解更多信息,请访问:腾讯云对象存储
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

.NET Core部署你不了解框架依赖与独立部署

不包含第三方依赖框架依赖部署 为项目创建一个目录,并将其设为当前目录 命令行,键入 dotnet new console 以创建 C# 控制台项目 在编辑器打开 Program.cs 文件...生成文件位于名为“publish”目录,该目录位于项目的 bin 目录子目录。 与应用程序文件一起,发布过程将发出包含应用调试信息程序数据库 (.pdb) 文件。...当为具有此类第三方依赖项应用程序创建 FDD 时,已发布输出会针对每个本机依赖项支持(存在于 NuGet 包运行时标识符 (RID) 包含一个文件夹。...命令栏行,键入 dotnet new console,该目录创建 C# 控制台项目 在编辑器打开 Program.cs 文件,然后使用下列代码替换自动生成代码。...生成文件位于名为“发布”子目录,该子目录位于项目的 .\bin\Release\netcoreapp2.1 子目录子目录

2K20

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

Visual Studio 是怎么让 csproj 内容正确显示出来?更深入,我能够自己扩展 csproj 功能吗? 本文将直接从 csproj 文件格式本质来看以上这些问题。...具体是编译过程哪个环节哪个组件使用了此属性,我们后面会说。 从这个角度来说,如果你没有任何地方用到了你定义属性,那为什么还要定义?是的——这只是浪费。...dll 文件从 MSTest NuGet 包以链接形式包含到项目中,并且此文件 Visual Studio 解决方案列表不可见。...原因显而易见了——为了多个项目中使用,一处更新,到处生效。所以有没有觉得很好玩——如果版本号单独放到 props 文件,就能做到一处更新版本号,到处更新版本号啦!...本文一开始就描述了新旧两款 csproj 文件格式差异,你也能从我多篇博客感受到格式带来各种好处;而简洁便是格式中最大好处之一。它是怎么做到简洁? 就靠 Project 节点了。

2.6K10
  • 如何编写基于 Microsoft.NET.Sdk 跨平台 MSBuild Target(附各种自带 Task)

    理解 C# 项目 csproj 文件格式本质和编译流程 我们提到 ItemGroup 节点,其作用由 Target 指定。...项目文件列表和项目属性显示;而 内部 和 是在编译期间动态生成,不会在 Visual Studio 显示;不过,它为我们提供了一种在编译期间动态生成文件或属性能力...总结起来就是——Target 是在编译期间执行。 不过,同样是编译期间,那么多个 Target,它们之间执行时机是怎么确定?...Microsoft.NET.Sdk 为我们提供现成可用 Task 有 Microsoft.NET.Sdk 帮助,我们可以很容易地编写自己 Target,因为很多功能都帮我们实现好了,我们排列组合一下就好...Copy 复制文件 Rosyln 如何使用 MSBuild Copy 复制文件 Move 移动文件 Move Task Delete 删除文件 Message 显示一个输出信息(我 如何创建一个基于

    87610

    ASP.NET Core 6框架揭秘实例演示:文件系统

    IFileProvider对象构建了一个抽象文件系统,我们不仅可以利用该系统提供统一API来读取各种类型文件,还能及时监控目标文件变化。...目录除了可以存放文件,还可以包含子目录,所以目录/文件整体上呈现出树形层次化结构。接下来我们将一个IFileProvider对象映射到一个物理目录,并利用它将所在目录结构呈现出来。...我们定义了如下一个这个IFileSystem接口,ShowStructure方法会将文件系统整体结构输出到控制台上。...具体来说,当文件Build Action属性被设置为“Embedded resource”后,如下所示节点会自动添加到项目文件,所以我们也可以直接修改项目文件达到相同目的...例如,我们将配置定义一个JSON文件,应用启动时候会读取该文件并将其转换成对应Options对象。

    56030

    语义版本号(Semantic Versioning)

    分为 主版本号.次版本号.构建号.修订号 四个部分,但是后面的一个或多个部分可以省略。 ?...当我们向全世界提供一个库(比如 NuGet 包)时候,我们怎么让团队所有人都知道我们正在为哪个版本开发新功能?我们又应该在何时更新程序集或者 NuGet 版本号功能开发开始?差不多完成?...如果你格式是旧,可以阅读我另一篇文章 将 WPF、UWP 以及其他各种类型旧 csproj 迁移成基于 Microsoft.NET.Sdk csproj 迁移成格式。...这样, csproj 文件中将版本号写为以下方式即可: 1.6.2-beta...如果希望自动化地项目中生成语义版本号,可阅读我另一篇博客 使用 GitVersion 在编译或持续构建时自动使用语义版本号(Semantic Versioning)。

    2.3K31

    C#.NET 如何创建带有本机依赖多框架多系统 NuGet 包

    正常如果你想写一个 .NET NuGet 包,直接打包就好了,你引用程序集会出现在 NuGet 包内 lib 文件夹内。然而,如果我们 NuGet 包包含本机依赖的话怎么?...但是,如果你托管程序集完全封装好了 C++/CLI 程序集,使得后者完全不会被项目引用的话,你也可以视作本机动态链接库来做,即做成“本机依赖包(单包)”。...这意味着,如果你己像引用 C++/CLI 又想引用此项目的 dll 时,请改用后面的“双包”方案。 完成 编译这个项目,你将在输出目录下得到一个 NuGet 包,已经具有正确文件结构了。...现在两个项目的职责分别为: 原来类库:负责提供本机动态链接库和 C++/CLI 程序集 类库:负责提供托管程序集,并标记引用原来包 编辑新项目的 csproj 文件。....NET Framework 项目项目编译后,NuGet 会自动将本机依赖包里对应架构和框架文件拷贝到输出目录,于是你就能正常运行你程序了。

    76250

    从零开始学习 dotnet 编译过程和 Roslyn 源码分析

    csproj 写死常量啦) - 吕毅 Roslyn 项目文件使用条件判断 - 林德熙 了解到 csproj 文件结构之后,你可以通过迁移一些项目,并确保他们编译通过来练习: 将 WPF、UWP...MSBuild.Sdk.Extras - 吕毅 接着,csproj 重要内容 Target 对理解编译过程非常重要,因为决定了如何编译这个项目: Roslyn 如何使用 MSBuild Copy...复制文件 - 林德熙 如何使用 MSBuild Target(Exec)控制台输出 - 吕毅 如何在 MSBuild Target(Exec)中报告编译错误和编译警告 - 吕毅 更高级 Target...: .NET/C# 你可以代码写多个 Main 函数,然后按需要随时切换 - 吕毅 Visual Studio 解决方案资源管理器隐藏一些文件 - 吕毅 使用链接共享 Visual Studio...NuGet 源码包,安装此包就像直接源码放进项目一样 - 吕毅 Roslyn 如何基于 Microsoft.NET.Sdk 制作源代码包 - 林德熙 Roslyn 基础 Roslyn 由于其丰富且易用

    32740

    MSBuildRoslyn 和 NuGet 100 个坑

    MSBuild 大部分机制;NuGet 是 .NET 生态系统包管理机制,被原生集成 Microsoft.NET.Sdk 。...将 WPF、UWP 以及其他各种类型旧 csproj 迁移成基于 Microsoft.NET.Sdk csproj 一文讲述了如何为项目文件添加 Sdk 属性,以便项目能够体验到最新 Microsoft.NET.Sdk...其中 NuGet 原生支持是非常清爽。 升级时很清爽,降级就不爽了!这种情况会发生在分支中进行了项目文件升级,随后切换回之前分支;这时相当于降级。...其实这是只有项目文件才会出现编译错误,而错误原因是 NuGet 缓存文件与包引用相关信息已经不正确了,需要运行 nuget restore 或者 dotnet restore 重新更新此文件才行...(我 Visual Studio 版本 2017.7.4,Microsoft.NET.Sdk 版本 2.1.300。) 这时,这两个文件重新 csproj Import 一次却能正常。

    1.3K20

    React + webpack 开发单页面应用简明中文文档教程(十一)将项目打包到子目录运行

    我们只需要运行 npm run build 命令,然后,等待编译,过会儿就编译好,并将我们文件了 build 目录,我们将编译出来文件交给运维去部署就可以了。 ?...上图是编译过程,我们编译文件如下: ? 很清楚,图片是图片,样式是样式,脚本是脚本。很合适。 问题是,我们如果要部署到子目录怎么办? 将项目打包到子目录项目打包到子目录,我们需要经过若干配置。... package.json 配置子目录 首先,我们打开 package.json 文件,在其中添加: "homepage": "/love/", ?...配置路由文件 除了在上面的文件配置,我们还需要调整路由,我们需要将 Router basename 参数修改 /love/ 这样才可以。 如下图所示: ? 好,这样,我们就配置完成了。...上面的三个,我们只需要处理一次,唯独这个 sass 文件,我们需要每次打包时候都修改一下,开发时候再修改回来。这样。 打包 经过上面的配置之后,我们就可以运行我们打包命令了。

    55830

    MSBuildRoslyn 和 NuGet 100 个坑

    MSBuild 不愧是强大编译器,提供扩展机制让你几乎可以编译任何类型文件项目;Roslyn 是全新编写一套编译器,不过保留了 MSBuild 大部分机制;NuGet 是 .NET 生态系统包管理机制...,被原生集成 Microsoft.NET.Sdk 。...其中 NuGet 原生支持是非常清爽。 升级时很清爽,降级就不爽了!这种情况会发生在分支中进行了项目文件升级,随后切换回之前分支;这时相当于降级。...其实这是只有项目文件才会出现编译错误,而错误原因是 NuGet 缓存文件与包引用相关信息已经不正确了,需要运行 nuget restore 或者 dotnet restore 重新更新此文件才行...(我 Visual Studio 版本 2017.7.4,Microsoft.NET.Sdk 版本 2.1.300。) 这时,这两个文件重新 csproj Import 一次却能正常。

    38530

    如何从零开发一个NuGet软件包?

    .nuspec nuspec是关于nuget包元数据文件早期版本曾经用于打包nuget包。但是dotnet CLI,此文件是由roslyn编译器从您.csproj文件生成。...[Content_Types] .xml: 这是一个元数据文件,提供了程序包包含每个文件扩展名。 lib: 软件包文件夹。此文件夹包括您构建输出。...换句话说,它在构建之后包含了bin文件夹。所以您可以看到不同目标框架文件夹与项目输出相同。例如,如果您.csproj文件是多目标的,您可以像我一样看到每个目标框架文件夹。...创建你第一个库 每一个开发者都应该知道类库。它们很难移动或用于不同项目。因为它们输出是dll文件本文中,我不会谈论如何构建库。我将展示如何将它们转换为可移植nuget包。...dotnet pack --configuration Release -o .packages/ 这意味着发布模式下构建项目,并将输出文件放置到“ .packages”文件

    1.3K30

    dotnet 修复 ILLinkTasksAssembly 特性计算结果无效

    加上 IL Link 项目里面,升级到 .NET 6 预览版,有一些项目将会构建不通过,或者有些 C++ CLI 项目加载失败。...dotnet sdk 如果有设置,就删除此项值或者修改为更新版本 创建空白项目,找找自己本地 ILLinkTasksAssembly 定义做法是项目的 csproj 里面添加如下代码,用来输出...,可以看到输出警告,警告里面就是 IL Link 路径。...\tools\net472\ILLink.Tasks.dll 路径 自己构建失败项目,或者加载失败 C++\CLI 项目项目文件里面, PropertyGroup 里面添加如下代码 <ILLinkTasksAssembly...本文方法能修复构建和加载项目提示如下内容 error : 元素 “AssemblyFile”特性值“$(ILLinkTasksAssembly)”计算结果“”无效

    89620

    VisualStudio 2019 尝试使用 C# 8.0 方式 可空类型Range异步

    安装了几天之后,终于有了 VisualStudio 2019 于是再安装了 dotnet core 3.0 预览版,现在可以来尝试使用 C# 8.0 新方式 VisualStudio 界面十分清真...找到一个简单控制台项目,创建界面也很简单 ? 虽然界面不错,但是创建项目的速度没有加快,等了很久,终于看到和之前没有多少修改界面 在按下调试时候,发现有一些按钮界面修改,如下一步按钮 ?...当前,使用之前需要做一些准备,首先是下载 dotnet core 3.0 不然一些功能不能使用 右击项目,编辑一下 csproj 文件 <Project Sdk="<em>Microsoft.NET.Sdk</em>...string str = null; Console.WriteLine(str); } 以前这样写代码是可以<em>的</em>,但是现在,可以<em>在</em> csproj <em>文件</em>里面添加 NullableReferenceTypes...str = null; Console.WriteLine(str); 那么原来<em>的</em> str[0] <em>的</em>这些写法需要<em>怎么</em>修改<em>呢</em>?

    3K20

    基于bat脚本前端发布流程优化

    背景介绍 前面基于bat脚本前端发布流程设计与实现,我已经介绍了设计与实现,这一篇主要是针对其一个优化折腾(分两步走,第一步先搞出来,第二步再想着怎么去优化),我主要做了以下几件事。..."一网打尽" ------ 抽离了上传逻辑放最后一梭哈 下面我以一个项目为例,着重向大家介绍我是怎么一步步折腾。...我这里主要是用到了一个库叫archiver,官网是https://www.archiverjs.com/,代码一些细节我已经写了注释了,这里就不过多介绍,我大致思路是,文件构建完以后,定义下要打包目录...再构建完打包 项目构建没什么好说,大部分项目npm run build一梭。打包这里我们分两步走,文件package.json里面贴入如下内容: ......cpu来处理,有可能你有很多个项目,但一个时间段就开一个进程去构建,显然是有点委屈了我那8核CPU,这么搞以后,项目下执行构建就可以同时构建多个项目了,构建完自动退出,这不就是小时候看动画片中影分身嘛

    88430

    .NET 使用 ILMerge 合并多个程序集,避免引入额外依赖

    那么,我们现在需要编辑我们项目文件: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...(注意到项目文件我有额外引用一个其他 NuGet 包 Ben.Demystifier,这是为了演示将依赖进行合并而添加 NuGet 包,具体是什么都没有关系,我们只是在演示依赖合并。)...那么 ILMerge 命令行如何使用参数列表是怎样?.../target 合并之后程序集类型,如果是控制台程序,则为 exe /out 输出文件名称(或路径)(此路径可以和需要合并程序集名称相同,这样合并完之后会覆盖同名称那个程序集) /log 所有需要合并程序集名称...需要注意 如果使用基于 Sdk 项目文件,那么默认生成 PDB 是 Portable PDB,但是 ILMerge 暂时不支持 Portable PDB,会在编译时提示错误: 1 2 3 4 5

    2.3K30

    翻译qmake文档(三) Creating Project Files

    简单项目里,这些变量通知qmake使用相关配置信息,或者提供文件名和路径构建过程使用。      qmake每个项目文件查找某些变量,并使用这些内容用于确定什么要写到 makefile里。...这个决定构建过程输出是否是一个应用程序、库、或者生成一个插件      可以通过变量名前附加$$读取变量内容。这样可以一个变量内容赋值给另一个变量。...如果没有项目文件里声明,qmake会假定构建应用程序,并且将为此生成一个适当Makefile(或者等价文件)。      ...当使用subdirs模板时,qmake生成一个makefile用来检查每一个子目录,处理子目录里找到工程文件,并执行平台make 工具生成Makefile。...SUBDIRS变量被用于包含所有要被处理子目录列表。 常规配置 CONFIG变量指定项目应该配置选项和功能。      可以release模式或debug模式或两种模式一起构建项目

    94460
    领券