dotnet4.0编译问题
因为最近在写cobaltstrike的execute-assembly内存加载的c#项目
用visual studio2022编译,最低net只能用6.0版本的,并且execute-assembly不支持

我想使用4.x版本进行编译,因为visual studio不支持,那么使用命令行进行编译
因为要用到MSBuild.exe,我直接选择低版本的

用x64或者另一个都可以,只要ConsoleApp2.csproj写上对应属性就好
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"><PropertyGroup><OutputType>Exe</OutputType><TargetFrameworkVersion>v4.8</TargetFrameworkVersion> <!-- .NET Framework 4.8 --><PlatformTarget>x64</PlatformTarget> <!-- 目标处理器架构设置为 x64 --><RootNamespace>ConsoleApp2</RootNamespace><AssemblyName>ConsoleApp2</AssemblyName><Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration> <!-- 默认配置为 Release --><Platform Condition=" '$(Platform)' == '' ">x64</Platform> <!-- 默认平台为 x64 --><OutputPath>bin\$(Configuration)\</OutputPath> <!-- 输出路径 --></PropertyGroup><ItemGroup><Reference Include="System" /><!-- 添加其他引用 --></ItemGroup><ItemGroup><Compile Include="Program.cs" /><!-- 添加其他源文件 --></ItemGroup><Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
我的项目代码为
using System;namespace HelloWorldApp
{class Program{static void Main(string[] args){string name;if (args.Length > 0){name = args[0];Console.WriteLine($"你好, {name}!");}else{Console.WriteLine("没有提供命令行参数。请输入您的名字:");} }}
}
但是编译会报错

说明字符串插值不能使用 , , ,是在 C# 6.0 引入的,而 .NET Framework 4.0 默认使用的 C# 编译器版本是 4.0,它不支持这些特性
所以需要改成+拼接参数,如下
using System;namespace ConsoleApp2
{class Program{static void Main(string[] args){// 检查是否传入了命令行参数if (args.Length > 0){// 如果传入了参数,使用第一个参数string name = args[0];Console.WriteLine("Hello, " + name + "!");}else{// 如果没有传入参数,使用默认值string defaultName = "world";Console.WriteLine("Hello, " + defaultName + "!");}}}
}
这样就可以成功生成了

在cobaltstrike中试试效果

可以看到成功达到效果,那么接下来看看完成一些功能
https://github.com/breakid/SharpUtils有一些功能,我来试试env的

可以看到成功显示出来env
相关文章:
dotnet4.0编译问题
因为最近在写cobaltstrike的execute-assembly内存加载的c#项目 用visual studio2022编译,最低net只能用6.0版本的,并且execute-assembly不支持 我想使用4.x版本进行编译,因为visual studio不支持,那么使用命令行进行编译 因为要用…...
研一奖学金计划2024/9/23有感
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、需要认真上课的1.应用数理统计(开卷考试)2.最优化方法(开卷考试)3.跨文化交际(主题演讲20课堂讨…...
html知识点框架
一、HTML基础 HTML简介 HTML是一种超文本标记语言,用于创建网页和网页应用。HTML5是公认的下一代Web语言,极大地提升了Web在富媒体、富内容和富应用等方面的能力。HTML基本结构 基本的HTML文档结构包括<!DOCTYPE html>, <html>, <head&g…...
SpringBoot的应用
目录 一、springboot的应用 1、创建springboot项目 2、乱码问题配置 3、springboot日志配置 4、springboot整合mybatis 二、配置文件讲解及测试 1、全局配置文件参数读取 1.1 全局配置文件的位置 1.2 配置文件的读取 1.2.1 导包 1.2.2 编写配置对象Bean 1.2.3 编写配置文件 1.2…...
Spring源码学习:SpringMVC(3)mvcannotation-driven标签解析【RequestMappingHandlerMapping生成】
目录 前言mvc:annotation-driven标签概述mvc:annotation-driven标签解析【RequestMappingHandlerMapping生成】AnnotationDrivenBeanDefinitionParser#parse (解析入口)RequestMappingHandlerMapping的实例化类图afterPropertiesSetAbstractHandlerMetho…...
2024 Redis 全部
1. 单机部署 1.1 检查环境,创建目录。 # 本地运行,不需要考虑安装的原因,可以卸载防火墙 # 关闭防火墙 systemctl stop firewalld.service# 查看防火强状态 firewall-cmd --state# redis 是基于gcc 环境的,查看是否有 gcc 环境 …...
[SDX35+WCN6856]SDX35 + WCN6856 WiFi可以up起来之后无法扫描到SSID
SDX35 SDX35介绍 SDX35设备是一种多模调制解调器芯片,支持 4G/5G sub-6 技术。它是一个4nm芯片专为实现卓越的性能和能效而设计。它包括一个 1.9 GHz Cortex-A7 应用处理器。 SDX35主要特性 ■ 3GPP Rel. 17 with 5G Reduced Capability (RedCap) support. Backward compati…...
VisualStudio如何卸载Resharper插件?
本来按理说,卸载插件应该就是在扩展下的已安装插件中,找到该插件,点一下就会出现卸载的按钮的。 没想到这个Resharper这么吊,卸载按钮居然是个灰色的,意思就是此路不通,有特权的。 那么这种情况下&#x…...
Unity Debug时出现请选择unity实例
Unity Debug时出现请选择unity实例 问题描述 出现请选择unity实例,并且选择框里为空。 出现原因 你打开了两个Unity工程,在附加时,不知道加在哪个Unity工程上。 解决方法 在调试窗口中点击“附加Unity调试程序”,然后在弹出…...
国庆出行新宠:南卡Pro5骨传导耳机,让旅途不再孤单
国庆长假即将来临,对于热爱旅行和户外运动的朋友们来说,一款适合旅行使用的耳机无疑是提升旅途体验的神器。今天,我要向大家推荐一款特别适合国庆出行的耳机——南卡Runner Pro5骨传导耳机。作为一名热爱旅游的体验者,我强烈推荐南…...
2024.09.18 leetcode 每日一题
二进制求和 给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 https://leetcode.cn/problems/add-binary/description/ 代码一,尝试使用笨办法,会造成溢出 class Solution { public:string addBinary(string a, string …...
快递物流短信API接口代码
官网:快递鸟 API参数 用户信息类 一.短信模版 1.接口说明 使用快递鸟短信功能时,预先设置好短信模板和对应的发送规则,快递鸟短信API将根据设置的好的模板和规则,进行短信的发送和反馈。 (1)仅支持Json格式。 (2)请求指令810…...
人工智能-机器学习-深度学习-分类与算法梳理
目前人工智能的概念层出不穷,容易搞混,理清脉络,有益新知识入脑。 为便于梳理,本文只有提纲,且笔者准备仓促,敬请勘误,不甚感激。 请看右边目录索引 。 人工智能 三大派系 符号主义(Symbolists…...
Xinference:深度学习模型推理与优化指南
目录 1. 什么是 Xinference? 2. 使用 Xinference 进行模型推理 2.1 安装 Xinference 2.2 模型推理示例 3. 提高模型推理的效率和性能 3.1 模型量化 3.2 并行处理 3.3 批量处理 4. 启用网页端(如果支持) 5. 在 CPU 中的注意事项 6. …...
Windows 2003系统的防护技巧,禁止IPC$空连接
一、修改管理员帐号和新建“陷阱”帐号 多年以来,微软一直在强调建议重命名Administrator账号并禁用Guest账号,提高计算机的安全性。Windows Server 2003系统,Guest 账号是默认禁用的,管理员账号默认是Administrator,…...
Kubernetes 深入浅出系列 | 容器剖析之容器基本实现原理
一、容器基本实现原理 Docker 主要通过如下三个方面来实现容器化: ① 使用操作系统的 namespace 隔离系统资源技术,通过隔离 网络、PID 进程、系统信号量、文件系统挂载、主机名和域名,来实现在同一宿主机系统中,运行不同的容器&…...
【学习笔记】TLS/SSL握手
前言:本篇将介绍TLS握手的实际握手过程,TLS握手创建了Client和Server之间“被保护的通道”,2个单向通道用来保护批量数据的传输(通过Confidentiality、Integrity和Authentication),一个通道是从Client到Ser…...
ESP32-TFT_eSPI.h文件的使用心得(包含画图相关函数)
目录 前言 环境:arduino 芯片:ESP32 一、Arduino中的使用 #include <TFT_eSPI.h> TFT_eSPI tft TFT_eSPI();tft.init();//初始化tft.setRotation(0); //屏幕旋转方向tft.fillScreen(TFT_BLACK);//底色tft.setTextSize(2); …...
vite分目录打包以及去掉默认的.gz 文件
1.vite打包情况介绍: 1.1vite在不进行任何配置的情况下,会将除开public的所有引用到资源打包编译添加哈希值至assets文件夹中(非引用文件以及行内样式图片未被打包编译资源会被treeSharp直接忽略不打包), 1.2w…...
Tensorflow 2.0 cnn训练cifar10 准确率只有0.1 [已解决]
cifar10 准确率只有0.1 问题描述踩坑解决办法 问题描述 如果你看的是北京大学曹健老师的tensorflow2.0,你在class5的部分可能会遇见这个问题 import matplotlib.pyplot as plt import tensorflow as tf from tensorflow.keras.layers import Dense, Dropout,MaxPooling2D,Fla…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
Ubuntu系统复制(U盘-电脑硬盘)
所需环境 电脑自带硬盘:1块 (1T) U盘1:Ubuntu系统引导盘(用于“U盘2”复制到“电脑自带硬盘”) U盘2:Ubuntu系统盘(1T,用于被复制) !!!建议“电脑…...
Vue3中的computer和watch
computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...
Qt的学习(一)
1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...
