VS生成事件宏$(TargetPath) 一直为空】的更多相关文章

在接手以前的项目的时候,遇见一个很奇怪的问题,我在一个项目的类库里面,使用了生成实现,如下: copy /Y $(TargetPath) $(SolutionDir)..\ copy /Y $(TargetDir)$(TargetName).xml $(SolutionDir)..\ 却发现$(TargetPath)这个宏一直为空,导致编译时报错,经过检查,应该是从2008的项目转成2010的项目导致的. 我的解决方法: 1.重新建立一个一模一样的2010的类库,然后替换之前的,问题解决! 以下…
如果说磨刀不误砍柴工,同样用好Visual Studio,会大大增加咱.NET程序猿效率.本文说的就是Visual Studio中的生成事件,在解决方案下右击某个项目然后选择 “属性” 打开窗口后即可看到 “生成事件” 选项,这个东西其实并不常用,甚至写几年代码都不会碰它一次,但是我今天需要她了. 2014.10.23更新:记得使用的时候有些目录可能无法写入,以管理员身份运行Visual Studio,并确认写入到的目录的权限问题. 我有一个解决方案IdleTest,还有另一个解决方案下的项目需…
Visual Studio在生成项目工程前后,有时我们需要做一些特殊的操作,比如:拷贝生成的dll到指定目标下面等. 结合VS可以添加预先生成事件和后期生成事件,采用命令或bat批处理. 1.Visual Studio生成事件命令 预先生成事件命令行,示例: cd $(ProjectDir)\ResourceBuildResource.bat 后期生成事件命令行,示例: xcopy /r /y $(TargetPath) $(ProjectDir)..\Bin\xcopy /r /y $(Tar…
转载自: http://hi.baidu.com/gisince/item/7f0439ee610c94255a2d64b4 今天写了生成事件的处理,如下: 从网上Down了一个例子,运行时提示错误 命令"copy F:\-- F:\--"已退出,返回值为 1:以前没遇到过,从网上查了一下,有个网友也有这个问题,他是把一个程序复制一遍,程序名称变成了"复制 程序名",就出现了这个问题,而源程序没任何问题:于是我把程序放到F盘的根目录下,运行,程序正常.再一分析,是该…
在一个解决方案中有多个项目的时候,我们常需要拷贝一些文件,dll到指定的目录下,或者遇到com组件还需要提前注册dll,这个就需要用到VS的生成事件. 一.位置: 项目-->右键-->属性-->生成事件. 预先生成事件就是在编译之前我需要做的事情,后期生成事件就是编译成功之后我要做的事情. 二.地址: 我们看到这样的命令: copy "$(SolutionDir)Source\Framework\bin\Debug\Configuration\SCADAServer.confi…
源自:http://www.cnblogs.com/FreeDong/p/3406737.html 如果说磨刀不误砍柴工,同样用好Visual Studio,会大大增加咱.NET程序猿效率.本文说的就是Visual Studio中的生成事件,在解决方案下右击某个项目然后选择 “属性” 打开窗口后即可看到 “生成事件” 选项,这个东西其实并不常用,甚至写几年代码都不会碰它一次,但是我今天需要她了. 我有一个解决方案IdleTest,还有另一个解决方案下的项目需用到IdleTest最新的dll,而原…
以开源记牌器https://github.com/Epix37/Hearthstone-Deck-Tracker 为例,Hearthstone Deck Tracker项目中的后期生成事件命令行: if "$(ConfigurationName)" == "Release" ( rmdir /S /Q "..\Hearthstone Deck Tracker" mkdir "..\Hearthstone Deck Tracker&quo…
原文:VS2010-使用"预先生成事件命令行"和"后期生成事件命令行"功能 xcopy /r /y $(TargetPath) $(ProjectDir)..\Bin\ xcopy /r /y $(TargetDir)$(TargetName).pdb $(ProjectDir)..\Bin\ xcopy /r /y $(TargetPath) $(ProjectDir)..\Release\ xcopy /r /y $(TargetDir)$(TargetName…
VS预生成事件命令行 和 生成后事件命令行 宏说明 $(ConfigurationName)            当前项目配置的名称(例如,“Debug|Any CPU”). $(OutDir)                              输出文件目录的路径,相对于项目目录.这解析为“输出目录”属性的值.它包括尾部的反斜杠“\”. $(DevEnvDir)                         Visual Studio 2005 的安装目录(定义为驱动器 + 路径):…
1:为什么需要使用生成事件? 在实际开发过程中,一个公共使用的类库,在项目生成DLL后需要被复制到不同的目录下被引用,是不是觉得每次生成之后都需要人工复制是很麻烦的一件事情 我们可以利用VS中的项目生成事件属性来进行生成后的DLL复制到指定的目录,或者进去其他的操作,比如打包成.zip的压缩包 2:怎么使用? 一.位置: 项目-->右键-->属性-->生成事件. 预先生成事件就是在编译之前我需要做的事情,后期生成事件就是编译成功之后我要做的事情. 二.地址: 我们看到这样的命令: cop…
在做项目是总要把发布后的一些dll拷贝的根网站的bin目录下,为了避免每次都需要手动拷贝可以在 项目的生成事件中写入bat命令,下面的命令只在项目使用的发布配置时执行拷贝, (在生成->配置管理器中可以设置各个项目的配置项) @echo off set "str=$(ConfigurationName)" if "%str%"=="Release" (xcopy "$(TargetDir)*.dll" "C:\…
在上一篇<Visual Studio 调试技巧>中,介绍了一些VS常用的调试操作,今天,聊一聊VS当中一个不太常见,但有时又有妙用的操作——VS生成事件. 一.什么是VS生成事件 简单来说,VS生成事件就是在编译项目的过程中发生的一些事件.根据事件发生的时机,允许自定义一些操作. VS生成事件可以在项目上右键,选择属性菜单后看到.VS生成事件分为以下两大部分: 1. 生成前事件命令行,可以指定在项目编译之前执行的一些命令行操作. 通过点击编辑预先生成按钮,可以编辑生成前事件命令行.其中宏按钮允…
原文:VS中的预先生成事件和后期生成事件 在C#开发中,有时候需要在程序编译之前或之后做一些操作. 要达到这个目的,可以使用Visual Studio中的预先生成事件和后期生成事件. 下图是一个简单例子: 将工程目录中的一些资源文件和库文件拷贝到debug目录下 指定预先生成命令行 1.         在“解决方案资源管理器”中,右击要为其指定预先生成命令行的数据库项目,再单击“属性”. 2.         在“项目属性”窗口中单击“生成事件”选项卡. 3.         执行下列操作之一…
自定义生成事件打开方式 通过指定自定义生成事件,可以在生成开始之前或在它完成之后自动运行命令.在Visual Studio中通过右键项目->属性 进入项目属性菜单. 自定义生成事件的语法 生成事件遵循与 DOS 命令相同的语法.如 在启动调试时在某个目录下创建文件夹 mkdir c:\logs 通过内置的宏列表可以更快速的输入关于项目的目录 点击 [宏]->从[宏列表]中选择要插入的宏->点击[插入]. 自定义生成事件的应用 通过项目生成事件前/后进行一些文件的操作,比如你可以在写单元测…
我们打开vs的项目属性可以看到有生成事件,如下图: 可以看到有两块空白区域,这个空白区域可以让我们写代码或脚本来处理编译生成前后的时候,处理一些事情,今天就简单的来说说这两块. 生成前事件命令行 我想可以在这里动态生成程序的版本号,将时间增量(DateTime)信息添加到AssemblyFileVersion属性中,该属性具有不破坏任何依赖性的优点. 你可以使用预生成事件生成文件,那是在项目的预生成,事件中: echo [assembly:System.Reflection.AssemblyFi…
解决方案中有一个 Project 是 Windows Service,用来从消息队列中取出事件,发送通知电邮: UI是一个MVC网站,两个Project都引用了同一个类库,这个类库引用了第三方的生成PDF组件 Pechkin: 我每次生成网站时,Pechkin的7个DLL都会自动拷贝到 bin 目录,7个DLL加起来30几兆,而且网站运行时就会报错(修改IIS应用程序池可以解决),害我每次调试网站,都要手动从BIN目录删除这些DLL,很耽误效率, 其实只有 Windows Services 项目…
概述 Visual studio 项目允许在项目属性生成事件一栏中指定预先生成和后期生成事件来实现项目生成与部署的自动化. 实例1: 我自己写了一个调试工具,该工具处于一边开发一边使用过程中.实际工作中可能时不时的我会遇到一些新的特性需求想要加到该工具类库中,每次开发到一个稳定版本我会发布到我的部署目录下.我希望我项目生成的文件自动copy到某个特定的部署目录中,因此可以通过制定以下后期生成事件实现: if $(Configuration)==Release ( xcopy $(ProjectD…
网上有很多的文章都在介绍怎样创建一个自己定义的dll文件,以及怎样使用一个dll文件,在此不在赘述.本文主要介绍怎样使用VS2008的"生成后事件"的命令行,将一个dll文件直接复制到项目的debug,或者release文件里. 首先.找到项目属性下的"生成事件"选项例如以下图所看到的: 单击"命令行"右側的三点号.出现了命令行加入窗体,例如以下图所看到的.输入命令"copy /b "$(InputDir)/lib/*.dll…
一个C#项目,如果为同一个解决方案的其他项目所引用,则其编译后,会将DLL拷贝到引用项目中:但如果它并不被其他项目引用,但又想编译后能够自动将生成的东西拷贝过去,可以在项目的生成事件中,写上一些批处理命令,拷贝指定的内容. 项目的生成事件,可以右击项目,弹出菜单中选属性,即可见到. 下面是一个批处理示例: SET Area=Test SET SolutionDir=D:\svn\trunk\Code\Solution\ SET ProjectName=SubWeb set PluginDirec…
最近想偷懒 想把项目生成的dll全部自动汇集到一个文件夹下 于是乎就动用了VS的生成后事件 在执行Xcopy的时候碰到了点问题 Invalid number of parameters 挺奇怪的,在公司的环境下没什么问题 从git上同步到家里来就报了个这样的错误 首先是检查了下环境什么的 没什么异常,最后发现问题是出在路径上 我的本地路径根文件夹带了个空格 试着改了下文件夹的名称发现还真是这个问题 好奇心作祟就百度了下 DOS下不支持长文件名,只支持8.3格式的文件名 .如果是Windows下的…
IF NOT "$(ConfigurationName)"=="publish" exit /B 0if not exist $(TargetPath)publish md $(TargetPath)publishxcopy /y $(TargetPath) $(SolutionDir)\\publisher 关于xcopy http://baike.baidu.com/link?url=PqKP2WNM02x4jWOGlYV4p2nm5X-gtIMitWsWMsI…
宏                                                      说明 $(ConfigurationName)            当前项目配置的名称(例如,“Debug|Any CPU”). $(OutDir)                              输出文件目录的路径,相对于项目目录.这解析为“输出目录”属性的值.它包括尾部的反斜杠“\”. $(DevEnvDir)                         Visual…
在visual studio中加入项目文件,也就是引用外部文件,比如在tools\options中的show directions for中选择include files,我们需要引用项目(solution)中文件夹中的文件,可以选用下文中的如下宏:$(SolutionDir)\Dshow\Include,这样就将项目中的Dshow\include文件加入到编译文件列表中. 还可以指定生成库文件DLL或者生成的XML文件到多个目录(可以省去每次生成之后的copy工作了!) eg: copy "$…
$(ConfigurationName) 当前项目配置的名称(例如,“Debug|Any CPU”). $(OutDir) 输出文件目录的路径,相对于项目目录.这解析为“输出目录”属性的值.它包括尾部的反斜杠“\”. $(DevEnvDir) Visual Studio 2005 的安装目录(定义为驱动器 + 路径):包括尾部的反斜杠“\”. $(PlatformName) 当前目标平台的名称.例如“AnyCPU”. $(ProjectDir) 项目的目录(定义为驱动器 + 路径):包括尾部的反…
1.   xcopy (复制文件) xcopy参数介绍 命令格式:XCOPY source [destination] 一堆可选的参数 参数介绍 source 指定要复制的文件. destination 指定新文件的位置和/或名称. /A 只复制有存档属性集的文件, 但不改变属性. /M 只复制有存档属性集的文件, 并关闭存档属性. /D:m-d-y 复制在指定日期或指定日期以后改变的文件.如果没有提供日期,只复制那些源时间比目标时间新的文件. /EXCLUDE:file1[+file2][+f…
宏 说明 $(ConfigurationName) 当前项目配置的名称(例如,“Debug|Any CPU”). $(OutDir) 输出文件目录的路径,相对于项目目录.这解析为“输出目录”属性的值.它包括尾部的反斜杠“\”. $(DevEnvDir) Visual Studio 2005 的安装目录(定义为驱动器 + 路径):包括尾部的反斜杠“\”. $(PlatformName) 当前目标平台的名称.例如“AnyCPU”. $(ProjectDir) 项目的目录(定义为驱动器 + 路径):包…
宏 说明 $(ConfigurationName) 当前项目配置的名称(例如,“Debug|Any CPU”). $(OutDir) 输出文件目录的路径,相对于项目目录.这解析为“输出目录”属性的值.它包括尾部的反斜杠“\”. $(DevEnvDir) Visual Studio 2005 的安装目录(定义为驱动器 + 路径):包括尾部的反斜杠“\”. $(PlatformName) 当前目标平台的名称.例如“AnyCPU”. $(ProjectDir) 项目的目录(定义为驱动器 + 路径):包…
1.右键“解决方案”→“配置管理器” 2.列“生成”,反勾选无需编译的项目 3.点击“确定”,重新编译即可跳过未勾选的项目.…
原因: JQuery EasyUI生成Dialog后原来的文档结构发生了变化,原本在form里的内容被移动form外面,提交到后台后就没有办法取值了. 解决办法: 在生成Dialog后将它appendTo原来的form里: 代码: $().ready(function () { $("#dialog").dialog().parent().appendTo("#form1"); //$("#dialog").parent().appendTo(&…
将程序所依赖的动态库与其他依赖文件做了分类,使用XCopy命令自动生成相应的目录结构. set source="$(TargetDir)" set output="$(SolutionDir)station_release_files" set appname=$(TargetFileName) echo %output% if exist %output% (rd %output% /s /q) else (md %output%) echo f | xcopy…