Ⅰ visualstudioc++没有控件的吗
VisualStudio怎样打开工具箱查看控件?VisualStudio中的控件都存放到工具箱中,开发的时候,只要拖猜烂动控件到指定窗口即可完成界面设计,所以,该怎么打开工具箱,然后查看控件缺兆氏呢?下面,小编就为大家介绍下VisualStudio打开工具箱查看控件方法。
1、打开Visual Studio的工程,如果工程右侧有工具箱的按钮,那么直接点击
2、展示的工具箱如下所示,但是内容却是空的
3、点击工具箱的空白处,右键选择“全部显示”
4、选择“全部显示”之后,所有的控件都显示出来
5、如果工程右侧没有显示“工具箱”,那么可以通过菜单“视图”-》工具箱来打开“工具箱”
6、如果想查看当前工程已有的视图,那么选择菜单的“视图”-》“资源视图”
7、然后双击图中的对话框,可以在右侧的窗口看到对话框的效果图
以上就是小编伏散为大家介绍的VisualStudio打开工具箱查看控件方法。更多相关教程敬请关注系统之家。
直接devenv /?
Microsoft (R) Visual Studio Version 9.0.30729.1.
Copyright (C) Microsoft Corp. All rights reserved.
Use:
devenv [solutionfile
projectfile
anyfile.ext] [switches]
The first argument for devenv is usually a solution file or project file.
You can also use any other file as the first argument if you want to have the
file open automatically in an editor. When you enter a project file, the IDE
looks for an .sln file with the same base name as the project file in the
parent directory for the project file. If no such .sln file exists, then the
IDE looks for a single .sln file that references the project. If no such single
.sln file exists, then the IDE creates an unsaved solution with a default .sln
file name that has the same base name as the project file.
Command line builds:
devenv solutionfile.sln /build [ solutionconfig ] [ /project projectnameorfile [
/projectconfig name ] ]
Available command line switches:
/Build Builds the solution or project with the specified solution
configuration. For example "Debug". If multiple platforms
are possible, the configuration name must be enclosed in quotes
and contain platform name. For example: "Debug
Win32".
/Clean Deletes build outputs.
/Command Starts the IDE and executes the command.
/Deploy Builds and then deploys the specified build configuration.
/Edit Opens the specified files in a running instance of this
application. If there are no running instances, it will
start a new instance with a simplified window layout.
/LCID Sets the default language in the IDE for the UI.
/Log Logs IDE activity to the specified file for troubleshooting.
/NoVSIP Disables the VSIP developer's license key for VSIP testing.
/Out Appends the build log to a specified file.
/Project Specifies the project to build, clean, or deploy.
Must be used with /Build, /Rebuild, /Clean, or /Deploy.
/ProjectConfig Overrides the project configuration specified in the solution
configuration. For example "Debug". If multiple platforms are
possible, the configuration name must be enclosed in quotes
and contain platform name. For example: "Debug
Win32".
Must be used with /Project.
/Rebuild Cleans and then builds the solution or project with the
specified configuration.
/ResetAddin Removes commands and command UI associated with the specified Ad
d-in.
/ResetSettings Restores the IDE's default settings, optionally resets to
the specified VSSettings file.
/ResetSkipPkgs Clears all SkipLoading tags added to VSPackages.
/Run Compiles and runs the specified solution.
/RunExit Compiles and runs the specified solution then closes the IDE.
/SafeMode Launches the IDE in safe mode loading minimal windows.
/Upgrade Upgrades the project or the solution and all projects in it.
A backup of these files will be created as appropriate. Please
see Help on 'Visual Studio Conversion Wizard' for more
information on the backup process.
Proct-specific switches:
/debugexe Open the specified executable to be debugged. The
remainder of the command line is passed to this
executable as its arguments.
/useenv Use PATH, INCLUDE, LIBPATH, and LIB environment variables
instead of IDE paths for VC++ builds.
To attach the debugger from the command line, use:
VsJITDebugger.exe -p < pid >
Ⅲ ASP.NET常见错误大全
检测到有潜在危险的 Request Form 值
原因:
( )在提交数据的页面或webconfig中没有对validateRequest的属性进行正确的设置
( )HTML里面写了轿烂旅两个<form>引起
解决:
方案一 在 aspx文件头中加入这句 <%@ Page validateRequest= false %>
方案二 修改nfig文件:
<configuration>
<system web>
<pages validateRequest= false />
</system web>
</configuration>
因为validateRequest默认值为true 只要设为false即可
在没有任何数据时进行无效的读取尝试 解决办法
原因
所返回的sqldatareader无数据记录 但没有作记录判断力处理 返回的是空值
加上判断即可 if (reader read()) { TextName Text =
reader[ FieldName ] ToString(); }
数据为空 不能对空值调用此方法或属性
原因:
若对象是null 那么调用对象的方法例如ToString()肯定出错一般是数历宴据库字段的值为空
在grideview等闭凳数据控件常出现
解决:因此建议作NULL处理
阅读器关闭时 FieldCount 的尝试无效
原因:
使用了SqlDataReader来绑定数据后 将connection对象作了Close()处理
类似
public SqlDataReader GetSomething()
{
conn open();
SqlDataReader reader =
sqlcmd ExcecutReader(CommandBehavior CloseConnection));
conn close();// occur error here
return reader;
}
在绑定的时候调用了这个方法来指定数据源 如果使用这个方法则需要在调用函数中关闭Re
ader这样conn就可以自动关闭
如果是使用的是SqlDataAdapter和DataSet那么请去掉显式关闭conn的调用 或者在finally
中调用之
未能映射路径
原因:可能是在webconfig中的路径配置不正确所致 在FCKEditor的配置中这种问题比较突出
<add key= FCKeditor:BasePath value= ~/admin/fckeditor/ />
<add key= FCKeditor:UserFilesPath value= /UserFiles/ />
Unreachable code detected
原因
一般是在异常处理理或返回值时使用了 throw 或return 可能是其位置放在前面 造成后面的代码执行到了
解决
把相关的异常抛出处理的语句(throw)或return 的语句放到代理执行的最后一行
索引超出范围 必须为非负值并小于集合大小
原因
( ) 没有设置DATAKEYFIELD设为数据库中相对应的唯一字段(一般是主键)
( ) DataGrid Columns > e Item Cells
解决
( ) 设置datakeyfield
( ) 加入判断语句unt (datagrid可以是其它相类似的服务器控件)
数据源不支持服务器端的数据分页
解决方法:
不要使用DataReader 改成使用DataSet 或使用自定义分页形式 不采用提供的分页功能
OleDbDataAdapter da = new OleDbDataAdapter(sql connection);
DataSet ds = new DataSet();
da Fill(ds News );
GridView DataSource = ds ;
GridView DataBind();
对象名 ***** 无效
原因:当前使用的数据库中没有*****这张表
解决: 查看是否程序中是否写错了所调用的表的名称或看一下SQL数据库中是否存在你所调用的表
在建立与服务器的连接时出错 在连接到 SQL Server 时 在默认的设置下 SQL
Server 不允许进行远程连接可能会导致此失败 (provider: 命名管道提供程序
error: 无法打开到 SQL Server 的连接)
solution: 主机上需要用固定的IP地址或服务器地址
SqlDateTime 溢出 必须介于 / / : : AM 和 / / : : PM
之间
出现这种问题``多半是因为你更新数据库时``datetime字段值为空``默认插入 年 月
日``造成datetime类型溢出
出现 表示 属性 此处应为 方法
原因:
VB与c#的方法 属性的格式有所不一样导致
可能是在design中绑定数据的语法出现错误 解决: 记住属性用[] 方法用()
记住绑定数据的正确语法(有以下几种方式::<%Container DataItem( 字段名 )%> <%
#Eval( 字段名 )%> <%Bind( 字段名 )%>等)
未能从程序集 DAL Version= Culture=neutral
PublicKeyToken=null 中加载类型 DAL SqlHelper
原因:修改了其他层后未能重新编译成dll
解决:编译一下(Rebuild)
为过程或函数 指定的参数太多
solution:调用存储过程与定义的存储过程所用的参数数量或所执行的SQL语句中所传入的参
数个数不一致(这是个SQL的错误)
解决方案:仔细检查在存储过程中所设定的参数变量 与实际输入的参数值是否一一对应
无法启动调试 绑定句柄无效
原因:系统的Terminal Services没有开启
Unable to debugging on the web server Debug failed because integrated windows authentication is not enable
解决方法:
打开vs >工具(Tools) >选项(Option) >调试(debugging) >编辑并继续(Edit and Continue) >全部打勾
Automation 操作中文件名或类名未找到: RegExp
解决方法:regsvr vbscript dll
System NullReferenceException: 未将对象引用设置到对象的实例
原因:
( )所设置的变量为空值或没有取到值 一般出现在传递参数的时候出现这个问题 也会在使用datagrid或gridview或datalist等数据控件时出现
( )控件名称与codebehind里面的没有对应
( )未用new初始化对象
( )在程序中所引用的控件不存在
解决方法:
( )使用try catch finally捕捉错误 或直接用response write()输出所取的变量值
( )查看代码中是否存在未初始化的变量
错误 文件被数字签名策略拒绝(安装vs sp 时)解决方法:
( ) 单击 开始 单击 运行 键入 control admintools 然后单击 确定
( ) 双击 本地安全策略
( ) 单击 软件限制策略 (注意 如果未列出软件限制 请右击 软件限制策略 然后单击 新建策略 )
( ) 在 对象类型 下 双击 强制
( ) 单击 除本地管理员以外的所有用户 然后单击 确定
( ) 重新启动计算机
微软说明
vs 不能从源文件模式切换到视图模式
解决方法:dos下运行下 devenv /resetskippkgs (win+r cmd)
Validation of viewstate MAC failed
解决办法:页面的顶部page加 EnableViewState= False EnableViewStateMac = False 来解决这个问题
Automation server can t create object (Automation 服务器不能创建)
解决办法:运行: Regsvr scrrun dll 即可
包加载失败
未能正确加载包 Visual Web Developer Trident Designer Package (GUID =
{ AE E C D E F A AEFF }
解决方法:
设置系统变量 VsLogActivity=
在%APPDATA%MicrosoftVisualStudio 文件夹下创建文件ActivityLog xml
Error
Microsoft Visual Studio
LoadLibrary failed for package [Visual Web Developer Trident Designer Package]
{ AE E B C D E F A AEFF }
e
c:Program FilesMicrosoft Visual Studio Common Packages ridsn dll
从 WINNTMicroSoft NETFrameworkv xxx 复制文件gdiplus dll 到 Program FilesVisual Studio Common Packages文件夹下
在命令行下运行命令 devenv /resetskippkgs
Error spawning cmd exe
解决方案:把cmd exe 拷贝到VS安装目录下的VC/BIN目录里 可以解决问题
尝试读取或写入受保护的内存
解决:硬件有问题 一般内存有问题
无法在证书存储区中找到清单签名证书
解决方法:用记事本打开项目的 csproj文件 删除类似
该项目中不存在目标 ResolveKeySource
原因:这个问题很罕见 查询国外相关资料后 大致说是由于部署的不是一个标准的solution 需要在VS自带的命令提示中运行下面这个东西恢复
解决方法:
( ) 将下列代码存为XML文件 命名为TestBuild xml
<Project DefaultTargets= Build xmlns= >
<PropertyGroup>
<TargetConnectionString>Data Source= sql % BUser ID=SqlUser% BPooling=False% BPassword=X</TargetConnectionString>
</PropertyGroup>
<ItemGroup>
<DatabaseProject Include= Database Database dbproj />
<DatabaseProject Include= Database Database dbproj />
</ItemGroup>
<Target Name= BuildAllDatabaseProjects >
<MSBuild
Properties= TargetConnectionString=$(TargetConnectionString)
Projects= @(DatabaseProject)
Targets= Build;Deploy >
</MSBuild>
</Target>
( )在命令提示中运行:m *** uild /t:BuildAllDatabaseProjects TestBuild xml
</Project>
不能将值 NULL 插入列 **
原因:这是数据库表设计的错误 所涉及的表的字段中设置了不能为空的属性 但是传入的值为null 所以报错
解决方法:查看是否所传入的值是否为Null 或修改数据库中表的所对应的列的属性
未能加载类型 命名空间 类
原因:
( )项目修改后没有进行编译
( )项目中原有的命名空间可能被修改了
( )项目中所需要的ascx或其他页面不存在 或不包含在项目中
解决方法:
( )在修改完成之后 请重新生成或编译整个项目或解决方案
( )手工修改所改动的命名空间 注意名称的大小写 再重新编译
( )将相关的文件包含在项目中
不能访问只读文件 **** ***
解决方案:
给虚拟目录所对应的文件加上 Everyone/写入 权限即可
请求因 HTTP 状态 失败 Access Denied解决方法:在iis信息服务器上把匿名访问和允许iis控制密码给勾上
有一个无效 SelectedValue 因为它不在项目列表中
原因
( )在没有绑DropDownList之前就给DropDownList SelectedValue 赋值
( )dropdownlist中出现了null值
无法在 已存在的情况下创建/影像复制该文件
解决方案 重新编译项目(多个project全部重新编译) 关闭vs 重新打开 必要时重新启动机子
用户 CASPNET 登录失败登录失败
异常详细信息: System Data SqlClient SqlException: 用户 COOASPNET 登录失败
这是怎么回事啊?
因为你的程序连接SQLServer的连接字符串是用了windows集成登陆 你可以改成用数据库帐号密码登陆 连接字符串的写法是
server=localhost;uid=sa;pwd=xxxx;database=master;
server是数据库服务器的机器名或者IP 如果是同一台机可以用localhost
uid是数据库登陆帐号
pwd是数据库密码
database是数据库初始owner名称
答案
右击桌面我的电脑 选择 管理 双击打开的 计算机管理 对话框中的 本地用户和组 下的 组 在右边的窗口中双击 Remote Desktop Users 组 在打开的 Remote Desktop Users 属性对话框中 单击添加 在打开的 添加用户 对话框中单击 高级 再单击 立即查找 按钮 在 搜索 结果中 双击ASPNET(如果是IIS NEOR SERVERCE )再点击两次确定完成添加 用户
单击 开始 所有程序 Microsoft SQL Server 企业管理器 在打开的 控制台根目录 选择相应的数据库 右击该数据库的中的 用户 选择 新建数据库用户 在 新建用户 对话 框中点击 登陆名 右侧的下拉列表框 选择 新建 打开 新建登陆对话框 点击名称右侧的 省略号按钮 在打开的对话框中将 列出的名称 中选择 本机的名称 再在下面的名称框中选定 Remote Desktop Users 然后点击 成员 按钮 双击 ASPNET(如果是IIS NEOR SERVERCE ) 然后点击确定 在 新建登陆对话 框 中的默认设置的 数据库 选项中选择相应的数据库名称 再在 数据库访问 选项下勾选相应 的数据库点击确定 完成将默认的匿名用户添加到SQL
用户 nt authority eork service 登录失败
> sqlserver 调成sql server 和windows验证模式
>
(以下方法仅供参考)
第一步 把 NT AUTHORITYNEORK SERVICE 添加到Administrator组中
我的电脑 >右键 >管理 >本地用户和组
选择 组 >双击Administrators >单击 添加 >单击 高级 >单击 立即查找 >在下面的列表中选择Neork Service用户 >两次单击 确定 >加入
第二步 在企业管理器中加入NetWord Service用户
打开Sql Server企业管理器 >选择数据库实例 >打开 安全性 节点 >选择 登录 >在右边的列表中单击右键 >选择 新建登录 >在 常规 选项卡中单击 名称 旁边的按钮 >选择 Administrators 组 >单击下面的 成员 按钮 >选择 Neork Service >单击 添加 按钮 >单击 确定 返回 新建登录 对话框 >保证身份验证类型为 windows验证 和 允许访问 >单击 确定 >关闭 企业管理器
第三步
重新运行程序 数据库连接字符串选择windows验证即可
> 在sqlserver中添加帐户或IIS_WPG工作组
此方法来自于
未能加载视图状态 正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配 例如 当以动态方式添加控件时 在回发期间添加的控件必须与在初始请求期间添加的控件的类型和位置相匹配
原因 viewstate的在作用是将控件的状态保存 在下次Post给服务器 服务器进行恢复控件的状态 (控件的状态包括 值和事件 )
解决方法
( )每一个UserControl的viewstate都改为false
( )加入这个
this Page EnableViewState = false;
此方法来源于 _astar/archive/ / / /l
由于启动用户实例的进程时出错 导致无法生成 SQL Server 的用户实例 该连接将关闭
问题原因
这是微软的bug 并且微软已经承认 详情如下
出现此错误的条件是 你用过远程桌面连接 并且安装了SQL +VS 就有很大可能触发这个问题 微软说会在将来的XP SP 里面解决掉这个问题
解决
ID= &SiteID=
如果你看不懂英文 那么我告诉你我的解决办法
删除C:Documents and Settings[USERNAME]Local SettingsApplication DataMicrosoftMicrosoft SQL Server DataSQLEXPRESS目录即可 [USERNAME]是Windows用户名 比如说Administrator
此问题来于
Server Application Unavailable
The web application you are attempting to access on this web server is currently unavailable Please hit the Refresh button in your web browser to retry your request
Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server Please review this log entry to discover what caused this error to occur
解决
如果你运行WinXP/IIS 为了给ASPNET工作进程访问你的web工程文件夹的权力请到网站文件所在的目录 右键一级文件夹 选Security-Add-键入 ASPNET 点击OK或点击Check Names 如果弹出对话框提示 Name not Found 则应点击Locations改变位置到本机计算机名 点击OK 分配此用户权限为 Full Control 点击OK
错误变为
You are not authorized to view this page
You do not have permission to view this directory or page using the credentials you supplied
解决
在IIS里右键此虚拟目录-Properties-Directory Security-Edit 勾选上Integrated Windows authentication即可
超时时间已到 超时时间已到 但是尚未从池中获取连接 出现这种情况可能是因为所有池连接均在使用 并且达到了最大池大小
可能原因如下 并发操作 Connection用后没有关闭 或者因为DataReader连接独占连接
解决方法
修改几个关键页面或访问比较频繁的数据库访问操作 使用DataAdapter和DataSet来获取数据库数据 不要使用DataReader
在访问数据库的页面上使用数据缓存 如果页面的数据不是经常更新(几分钟更新一次)的话 使用Cache对象可以不用访问数据库而使用缓存中的内容 那么可以大大减少连接数量
修改代码 把使用Connection对象的地方都在Close()后面加上Dispose()调用
建议对数据库操作进行大的修改 建立自己的数据库操作代理类 继承System IDisposable接口 强迫释放资源 这样就不会出现连接数量不够的问题了
包加载失败
未能正确加载包 Visual Web Developer Trident Designer Package (GUID =
{ AE E C D E F A AEFF } 请与包供应商联系以获得帮助 由于可能会发生环境损坏 建议重新启动应用程序 要禁止将来将来加载此包吗?可以使用 devenv reswetskippkgs 重新启用包加载
每次开机打开vs 都会有这个提示 烦
于是在google了一下 发现很多方法都试过了 只有一个解决一试就行
解决方法如下:
设置系统变量 VsLogActivity=
在%APPDATA%MicrosoftVisualStudio 文件夹下创建文件ActivityLog xml
从 WINNTMicroSoft NETFrameworkv xxx 复制文件gdiplus dll 到 Program FilesVisual Studio Common Packages文件夹下
在命令行下运行命令 devenv /resetskippkgs
注:发现此问题只有在win 会出现 win 就不会出现这个问题
用户 xxxASPNET登录失败
第一步
把 NT AUTHORITY NetWORK SERVICE 添加到Administrator组中
我的电脑 >右键 >管理 >本地用户和组
选择 组 >双击Administrators >单击 添加 >单击 高级 >单击 立即查找 >在下面的列表中选 Neork Service用户 >两次单击 确定 >加入
第二步 在企业管理器中加 Neork Service用户
打开Sql Server企业管理器 >选择数据库实例 >打开 安全性 节点 >选择 登录 >在右边的列表中单击右键 >选择 新建登录 >在 常规 选项卡中单击 名称 旁边的按钮 >选择 Administrators 组 >单击下面的 成员 按钮 >选择 Neork Service >单击 添加 按钮 >单击 确定 返回 新建登录 对话框 >保证身份验证类型为 windows验证 和 允许访问 >单击 确定 >关闭 企业管理器
第三步
重新运行asp Net程序 数据库连接字符串选择windows验证即可
以上针对win 如果是win 加ASp Net用户
无法在 已存在的情况下创建/影像复制该文件
解决方法 重新编译整个项目 或者重启电脑
Could not create an environment: OCIEnvCreate returned
解决方案一
主要是将oracle主目录oracle的读写权限赋予或者是IUSER_ 和IWAM_ 重启计算机
解决二:
打开在IIS中的WEB属性--主目录--执行权限【改为-脚本和可执行文件】
-应用程序池【改为-MSSharePointAppPool】 刷新OK
解决三:
文件夹权限可以不用管
设置ORACLE_HOME变量的方法如下
控制面板>>系统>>高级>>环境变量>>系统变量>>新建系统变量
变量名写ORACLE_HOME
变量值添实际的ORACLE_HOME路径 在注册表中有
由于目标机器积极拒绝 无法连接
在添加完引用后 用localhost替换掉所有的localhost: 重新编译
能加载视图状态 正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配 例如 当以动态方式添加控件时 在回发期间添加的控件必须与在初始请求期间添加的控件的类型和位置相匹配
解决 在页面的 Page 项添加 EnableViewState= false 即可
在以下方法或属性之间的调用不明确 method 和 method
因隐式转换的缘故 编译器无法调用重载方法的某种形式 可以用以下方法纠正该错误
以不发生隐式转换的方式指定此方法的参数
移除此方法的所有重载
在调用方法之前 强制转换到正确的类型
在应用程序级别以外使用注册为 allowDefinition= MachineToApplication
解决 在网站对应的虚拟目录上右键 选属性 然后在应用程序名后点创建 名字随便填
[子目录不会继承上级的属性 所以要将aspx文件所在的目录属性设置正确]
无法识别的配置节 connectionStrings
原因
用vs 开发的应用程序需要使 framework 而在iis中的默环境是 这时将发生不可识别的节点的问题
解决办法
环境升级为 开始-》运行-》cmd-》
C:WINDOWSMicrosoft NETFrameworkv aspnet_regiis exe i
Timeout expired The timeout period elapsed prior to obtaining a connection from the pool This may have occurred because all pooled connections were in use and max pool size was reached
Description: An unhandled exception occurred ring the execution of the current web request Please review the stack trace for more information about the error and where it originated in the code
Exception Details: System InvalidOperationException: Timeout expired The timeout period elapsed prior to obtaining a connection from the pool This may have occurred because all pooled connections were in use and max pool size was reached
主要原因可能有
使用了连接池 大量的sqlconnection用了后忘记关闸门 导致SQL占用严重 可以用 exec sp_who 这个存储过程查看一下
连接池的连接数有所限制
解决方法:
释放连接池 调用Connection对象的Close()方法关闭数据库连接
利用try catch finally对数据库连接进行异常处理 当无法连接数据库时将抛出异常 并显示出错信息 见catch代码块所示 在此程序中 无论是否发生异常 都可以通过finally区块关闭数据库的连接 从而节省计算机资源
将SqlConnection对象包含到using区块中 这样程序会自动调用Dispose()方法释放SqlConnection对象所占用的系统资源 无需再使用SqlConnection对象的Close()方法
指定min pool size表示连接池允许的最小连接数(默认为 ) 下面的代码指定了SqlConnection对象的max pool size为 min pool size为
lishixin/Article/program/net/201311/11175
Ⅳ 如何命令行编译C#sln工程
一 使用devenv来build单个project
devenv是VisualStudio的可执行程序,一般安装在“C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE”下。用来在命令行或GUI方式运行VisualStudio。其中devenv.com是命令行程序,devenv.exe是GUI的程序。默认地当你调用devenv的时候其实是启动devenv.com,除非你显示地调用devenv.exe才会启动GUI的VisualStudio。
使用devenv来build一个.sln的实例:
devenv d:\Build\MyProject\Src\MyProject.sln /Build "Release|Win32"
使用devenv来build一个.sln中的某个的实例:
devenv.exe d:\Build\MyProject\Src\NyProject.sln /build "Release|Win32" /Project MyProject1
注意:通常地.sln中的多个Projects间有依赖关系,所以虽然你只是build一个.sln中的某个Project,但是还是需要指定Project所在.sln,然后通过/Project来指定Project的名字。
如果只是单个的Project,没有引用其他的projects,这个时候可以不指定.sln,直接build Project,如下实例:
devenv d:\Build\MyProject\Src\MyProject.vcxproj /Build "Release|Win32"
注意此时实际上devenv做如下事:
此时devenv将在此project文件的父目录中查找与Project相同名字的.sln;
如果没有找到的话,然后查找其他的引用了此Project的.sln;
如果还是没有找到的话会创建临时的不保存的与Project同名的.sln。
二 devenv的更多帮助
可以使用devenv /?来查看详细的帮助。
.sln或project的路径有空格时,需要对路径加"";
多个/开关间使用空格隔开;
devenv不支持通配符或正则表达式语法;
三 MSBuild
如果你的机器上没有装有VisualStudio,那么可以使用MSBuild来build .sln或project。MSBuild可以通过安装.NETFramework来安装,一般的安装路径为C:\Windows\Microsoft.NET\Framework。其实devenv执行build时候,后台也是调用MSBuild来build的。
可以使用msbuild /?来查看详细的帮助;
简单实例如下:
MSBuild MyApp.sln /t:Rebuild /p:Configuration=Release
MSBuild MyApp.csproj /t:Clean
/p:Configuration=Debug;/p:Platform=x86;TargetFrameworkVersion=v3.5
同样注意,如果project引用了其他的projects的时候,最好build整个.sln。
Ⅳ devenv就是vs吗
不是
devenv命令是VS系列编译器的exe名或乎称,执行devenv.exe可以启动带衫旦悉界面的VS编译器。若需要使用命令行方式的编译器,需要使用devenv或者devenv.com.
devenv vs 参数相关内容,包含devenv vs 参数相关文档代码介绍、相关教程视频课程,以及相关devenv vs 参数问答内容。
devenv.exe,同时可以不启动UI界面,进行一些工程编译。
打迟升开以下的regedit 路径并修改devenv.exe所在的路径: HKEY_LOCAL_.exe spa 。
Ⅵ 基于 devenv 实现自动化编译,生成测试文件
想要实现自动化编译并生产打包替换文件,首要的对项目进行编译生成.一般编译 donnet 项目有三种方式 csc.exe , MSbuild(不需要安装vs) , devenv(需要安装vs).因为自己已经安装了vs了,所以直接使用devenv去编译程序了
大致流程如下
SVN 工具使用TortoiseSVN. 为了简化操这里直接使用 TortoiseProc.exe(TortoiseSVN的GUI程序) 所提供的命令行,对项目进行更新等操作
使用Demo
具体的使用方式可以在 TortoiseSVN 提供帮助文档里去查看
因为项目的日期和版本是写死在了程序里的,每次给测试生产替换文件时候都得去修改程序日期.大致思路是通过正则去修改文件.考虑到需要后面可能需要修改的地方较多,目前是通过Json去配置需要修改文件 和 对应正则 和 调用的方法(获取的值).为了提供修改灵活性,目前是通过 CSharpCodeProvider 去编译 C# 文件,来方便随时修改获取新的值得规则
大致流程如下
json 配置文件如下
假如 Test.cs 文件需要修改内如下
新增一个 Units.cs(用于动态编译) 文件,生成操作改为内容,不参与编译
对 CSharpCodeProvider 进行简单封装,CSharpRunCode 类 主要是对 C# 字符串进行编译,和提供一个可以调用 C# 字符串中方法
使用方法
执行结果
VS 安装的是2017,devenv 正常路径应该是 [C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE] 下,网上一堆动态查找 devenv 路径的方法.最后感觉通过注册表方式比较靠谱, 参考这篇
具体实现
找到了路径后接下来就是,将路径写入环境变量(或者执行 devenv 先调转到目录),调用CMD然后去执行 devenv 程序去编译项目操作了
对调用CMD 简单封装下
devenv 具体参数可以参考 微软官网文档
示例
devenv 回输出,然后判断是否全部编译成功
文件编译好之后,就是对文件的拷贝操作了这里就不描述了
效果如下
Ⅶ 命令行下编译vs2010工程怎么做
1.找到vs的cl.exe所在目录,在vs2010为f:\visual
2010\vc\bin,可参考。
2.点击“我的电脑”进行环境变量的配置,找到"path"变量加分号后加入刚才的路径。
3.重新运行cmd开启新的命令窗口,输入cl检查path设置是否生效。(只需配置一次即可,以后再次运行的时候不用再运行此命令)。
4.输入vcvars32,这条命令是运行同路径下的vcvars32.bat设置它的环境变量。
5.输入cl
hello.cpp即可正常编译。
编译工程有两个方法:
"c:\program
files\microsoft
visual
studio
10.0\common7\ide\devenv.exe"
/rebuild
"release|win32"
xxxxxxxxx.sln
专门的build工具:msbuild,通过开始菜单=>microsoft
visual
studio
2010=>visual
studio
tools=>visual
studio
command
prompt
(2010)
,启动命令行环境,执行一下msbuild