请教大神!vs2010 引用地址如何快速修改

时间:2023-01-19 17:48:18
        有一个winform项目,引用中是对别的程序的.dll的引用,引用用的绝对路径,当初做项目时,默认的路径是安装到C:盘的,但是我的电脑是安装的D:盘的,这样的话,我只能一个一个手动重新添加.dll的引用路径,请问有什么快捷的方法更改引用路径么?
vs2010项目中的引用中,自己手动添加的引用的路径是存在什么文件里的?

        举个例子来说明我遇到的问题。项目最初开发时候,有个A.dll文件在这个安装程序的路径C:\Program Files\Microsoft SDKs下面。引用时,用的浏览,定位到C:\Program Files\Microsoft SDKs这个文件夹。我接手这个项目时候,由于我Microsoft SDKs这个程序是装在D:\Program Files\Microsoft SDKs这个文件夹下面的,所以我只能手动重新用浏览的方式,添加这个A.dll引用。如果只有一个,目录也单一,还好办。我现在面对的是十多个不同目录的dll文件,每一个只能手动添加。
        如果有个文件是存储关于dll引用信息的,那么我只需要把引用目录的盘符C改为D就可以了。
       请教各位大神,引用地址有快捷修改的方式么?

8 个解决方案

#1


方法一:修改 *.csproj文件,里面有引用的路径
方法二:mklink  /J  "C:\Program Files\Microsoft SDKs"  "D:\Program Files\Microsoft SDKs"

#2


如果没有关联其他dll的话

可以对引用设置 总是复制到当前目录

#3


引用 1 楼 yixiang2008 的回复:
方法一:修改 *.csproj文件,里面有引用的路径
方法二:mklink  /J  "C:\Program Files\Microsoft SDKs"  "D:\Program Files\Microsoft SDKs"


这种方式修改起来很快,
请问如何用宏代码的方式实现自动查找引用位置呢?
因为有的人的有的程序可能安装在里C盘,有的人可能安装在了D盘。
我在网上搜到一些文章,但是没有理解如何配置。
比如在 *.csproj文件里,<HintPath>$(PowerPlatform)Microsoft SDKs\A.dll</HintPath>,关于这个语句$(PowerPlatform),是需要用户在本地电脑定义一个环境变量,然后赋予一个路径,才能实现相对路径的功能么?还是在开发项目中就可以对中$(PowerPlatform)进行定义呢?

#4


把A.dll等dll文件 复制出来,存放到项目的中的一个dll文件夹,更改属性 为 始终复制 ,再从项目中 重新引用项目中dll文件夹下的dll,这样就不用 受限于那个盘符。不管你项目从那个地方打开,dll的引用路径都是绝对的。

#5


引用 4 楼 duanzi_peng 的回复:
把A.dll等dll文件 复制出来,存放到项目的中的一个dll文件夹,更改属性 为 始终复制 ,再从项目中 重新引用项目中dll文件夹下的dll,这样就不用 受限于那个盘符。不管你项目从那个地方打开,dll的引用路径都是绝对的。

程序打包的时候可以这么做
开发的时候,我遇到的项目是基于别的软件开发的,开发成员有可能不会都安装在C盘,所以会遇到不同的人会装到不同的盘的情况。当然,大家都约定好了都装在C盘,就可以解决这个问题。
我是想如果面对这样的状况,大家不进行约定,*安装,是否有解决这个问题方法。

#6


肯定是特定问题特定分析
你想要通用的,一般来说vs默认是按相对路径写入csproj的,所以针对这些肯定是你们要统一要求必须将项目和dll放在特定位置,而不是让他们*存放,然后事后再想办法折腾

#7


项目文件里面修改吧

#8


引用 3 楼 ifdone 的回复:
Quote: 引用 1 楼 yixiang2008 的回复:

方法一:修改 *.csproj文件,里面有引用的路径
方法二:mklink  /J  "C:\Program Files\Microsoft SDKs"  "D:\Program Files\Microsoft SDKs"


这种方式修改起来很快,
请问如何用宏代码的方式实现自动查找引用位置呢?
因为有的人的有的程序可能安装在里C盘,有的人可能安装在了D盘。
我在网上搜到一些文章,但是没有理解如何配置。
比如在 *.csproj文件里,<HintPath>$(PowerPlatform)Microsoft SDKs\A.dll</HintPath>,关于这个语句$(PowerPlatform),是需要用户在本地电脑定义一个环境变量,然后赋予一个路径,才能实现相对路径的功能么?还是在开发项目中就可以对中$(PowerPlatform)进行定义呢?


参考:
请教大神!vs2010 引用地址如何快速修改

#1


方法一:修改 *.csproj文件,里面有引用的路径
方法二:mklink  /J  "C:\Program Files\Microsoft SDKs"  "D:\Program Files\Microsoft SDKs"

#2


如果没有关联其他dll的话

可以对引用设置 总是复制到当前目录

#3


引用 1 楼 yixiang2008 的回复:
方法一:修改 *.csproj文件,里面有引用的路径
方法二:mklink  /J  "C:\Program Files\Microsoft SDKs"  "D:\Program Files\Microsoft SDKs"


这种方式修改起来很快,
请问如何用宏代码的方式实现自动查找引用位置呢?
因为有的人的有的程序可能安装在里C盘,有的人可能安装在了D盘。
我在网上搜到一些文章,但是没有理解如何配置。
比如在 *.csproj文件里,<HintPath>$(PowerPlatform)Microsoft SDKs\A.dll</HintPath>,关于这个语句$(PowerPlatform),是需要用户在本地电脑定义一个环境变量,然后赋予一个路径,才能实现相对路径的功能么?还是在开发项目中就可以对中$(PowerPlatform)进行定义呢?

#4


把A.dll等dll文件 复制出来,存放到项目的中的一个dll文件夹,更改属性 为 始终复制 ,再从项目中 重新引用项目中dll文件夹下的dll,这样就不用 受限于那个盘符。不管你项目从那个地方打开,dll的引用路径都是绝对的。

#5


引用 4 楼 duanzi_peng 的回复:
把A.dll等dll文件 复制出来,存放到项目的中的一个dll文件夹,更改属性 为 始终复制 ,再从项目中 重新引用项目中dll文件夹下的dll,这样就不用 受限于那个盘符。不管你项目从那个地方打开,dll的引用路径都是绝对的。

程序打包的时候可以这么做
开发的时候,我遇到的项目是基于别的软件开发的,开发成员有可能不会都安装在C盘,所以会遇到不同的人会装到不同的盘的情况。当然,大家都约定好了都装在C盘,就可以解决这个问题。
我是想如果面对这样的状况,大家不进行约定,*安装,是否有解决这个问题方法。

#6


肯定是特定问题特定分析
你想要通用的,一般来说vs默认是按相对路径写入csproj的,所以针对这些肯定是你们要统一要求必须将项目和dll放在特定位置,而不是让他们*存放,然后事后再想办法折腾

#7


项目文件里面修改吧

#8


引用 3 楼 ifdone 的回复:
Quote: 引用 1 楼 yixiang2008 的回复:

方法一:修改 *.csproj文件,里面有引用的路径
方法二:mklink  /J  "C:\Program Files\Microsoft SDKs"  "D:\Program Files\Microsoft SDKs"


这种方式修改起来很快,
请问如何用宏代码的方式实现自动查找引用位置呢?
因为有的人的有的程序可能安装在里C盘,有的人可能安装在了D盘。
我在网上搜到一些文章,但是没有理解如何配置。
比如在 *.csproj文件里,<HintPath>$(PowerPlatform)Microsoft SDKs\A.dll</HintPath>,关于这个语句$(PowerPlatform),是需要用户在本地电脑定义一个环境变量,然后赋予一个路径,才能实现相对路径的功能么?还是在开发项目中就可以对中$(PowerPlatform)进行定义呢?


参考:
请教大神!vs2010 引用地址如何快速修改