如果我在TFS源代码控制下向项目添加新文件,它将检出该项目文件的项目文件和相应的.vspscc文件.
项目文件本身会更改(包括新文件),但.vspscc文件根本不会更改.为什么要费心检查呢?有没有办法禁止它被检查出来,如果有的话,我应该吗?
在单个项目中使用多个source(.cpp
)和header(.h
)文件有什么好处?
这只是一个优惠的事情还是有真正的好处?
我一直在学习一些Clojure,我目前只有一个.clj
文件,我在文本编辑器中编辑,并在命令行执行.
我在哪里可以找到关于扩展到更大程序/库的实际方面的指南?
.clj
在文件系统上布置多个文件?我正在寻找有关从小脚本扩展到真实内容的实际方面的信息.
如屏幕截图所示,ClassLibrary1依赖于ClassLibrary2,ClassLibrary2依赖于ClassLibrary3.并且"复制本地"设置为"真".但是当我编译ClassLibrary1时,ClassLibrary3将不会被复制到bin文件夹中.
那么如何配置Visual Studio项目文件以使其复制间接引用?
在我们的团队中,我们在Visual Studio 2008中有一个数据库项目,该项目由Team Foundation Server进行源代码管理.每两周左右,在一位同事签入后,项目文件将不会加载到其他开发人员的计算机上.错误消息是:
无法加载项目文件.根级别的数据无效.第1行,第1位.
当我在Notepad ++中查看项目文件时,该文件如下所示:
??<NUL?NULxNULmNULlNUL NULvNULeNULrNULsNULiNULoNULnNUL
...
等等(你可以<?xml version
在这里看到)而普通的项目文件看起来像:
<?xml version="1.0" encoding="utf-16"?>
...
所以可能是文件编码有问题.这对我们来说是个问题,因为事实证明不可能再次使文件编码正确.'解决方案'是扔掉项目文件,从源代码控制中获取最后一个知道的工作版本.
根据该文件,编码应为UTF-16.根据Notepad ++,损坏的文件实际上是UTF-8.
我的问题是:
最后一点:问题在于单个项目文件,所有其他项目文件都不会暴露这个问题.
更新:感谢Jon Skeet的建议,我得到第三个问题的答案.当我用两个字节FF FE替换前九个字节EF BB BF EF BF BD EF BF BD时,项目文件将再次加载.
这仍然是Visual Studio破坏文件的原因.
Visual Studio项目假定属于项目的所有文件都与项目文件位于同一目录中,或者位于其下方.
对于特定项目(在非Visual Studio意义上),这不是我想要的.我想将MSVC特定的文件存储在另一个文件夹中,因为可能还有其他方法来构建应用程序,例如使用SCons.此外,MSVC所有东西都会破坏源目录.
例:
/source
/scons
/msvc <- here is where I want my MSVC-specific stuff
Run Code Online (Sandbox Code Playgroud)
我可以在Explorer中将source
文件手动添加到目录中,然后在Visual Studio中将它们与项目链接.它不是世界末日,但它让我感到恼火的是,Visual Studio试图决定我项目的文件夹结构.
我正在查看项目文件的模式,但意识到这个令人讨厌的假设是在IDE中,而不是项目文件的格式.
除了从source
目录手动将文件链接到项目之外,有人知道更简洁的解决方法吗?
所以,我现在已经在我的网站上完成了JS.它涉及jQuery(以及这样的.ready init)页面有两个部分,上部主要是Google Maps,下部是输入表单.
所有这些目前都在一个 .js,函数,inits,迭代,所有这些.结构很好,所有这一切都做得很好.
但问题是:什么是好结构?我应该将上半部分放在一个文件中而将下部放在另一个文件中吗?或者我应该在.ready()下放置所有需要的初始化并将所有函数放在另一个文件中?或者我应该将所有内容保存在不断增长的文件中?
所以问题标题说,我特别想知道如何在实际项目文件中包含.dll文件的路径.我知道将dll文件包含在项目文件中是更好的做法,但我还是想知道它是否可以完成?
目前我的.pro文件包含以下内容:
QT += core gui
TARGET = Test
TEMPLATE = app
win32 {
INCLUDEPATH += "D:/Projects/Build Output/include/"
CONFIG(debug, debug|release) {
LIBS += "D:/Projects/Build Output/libs/debug/myLib.lib"
LIBS += "D:/Projects/Build Output/bin/x86 debug/myLib.dll"
}
else {
LIBS += "D:/Projects/Build Output/libs/release/myLib.lib"
LIBS += "D:/Projects/Build Output/bin/x86 release/myLib.dll"
}
}
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
Run Code Online (Sandbox Code Playgroud)
会很酷,只是知道它可以完成,感谢您的帮助:).
我们有一个大型的SQL驱动软件系统,自Delphi 1以来就已存在.它在所有各种项目中使用相同的原始项目文件.我们最近开始升级到Delphi XE2,我一直在考虑创建新项目文件并重新添加所有源代码的想法 - 以确保它们获得新的Delphi XE2项目的推荐默认值.
有人会推荐这个吗?有什么风险?显然这是一项艰巨的任务,重新定义版本号,项目名称/描述/公司信息等等.但是原始项目的大小让我感到害怕.3个主要的可执行文件加上许多其他可执行文件,总共大约有300万行代码.
我想这样做的主要原因是因为我已经看到新的Delphi XE2项目如何自动创建每个平台和发布的子目录(Win32,Win64,Debug,Release等).我们的项目目前一团糟,我一直在努力清理它.
那你觉得风险是什么呢?为什么或为什么不是这个好主意?可以有一些"重置"默认值的替代方案吗?
我维护一个开源的Delphi库.我想为所有Delphi XE系列编译器提供一个最小的项目文件.理想情况下,有这样一个工具,所以我只需要为XE6创建一个项目文件,它将删除所有冗余信息并自动为XE-XE5创建相应的项目文件.存档有什么聪明的方法吗?
这是我当前的项目文件,其中包含许多冗余信息.例如,它包含Android/iOS等的虚拟配置,但我的项目是传统Windows应用程序的目标.如果我手动删除这些信息,它将在项目更改时返回.我也知道,DebugInformation
XE4中的值是boolean,而XE5 中是整数.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{1118D87C-9E72-4D93-9098-E70AD237493A}</ProjectGuid>
<MainSource>dutil_rtl.dpk</MainSource>
<ProjectVersion>15.1</ProjectVersion>
<FrameworkType>None</FrameworkType>
<Base>True</Base>
<Config Condition="'$(Config)'==''">Release</Config>
<Platform Condition="'$(Platform)'==''">Win32</Platform>
<TargetedPlatforms>3</TargetedPlatforms>
<AppType>Package</AppType>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Base)'=='true') or '$(Base_Win32)'!=''">
<Base_Win32>true</Base_Win32>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Base)'=='true') or '$(Base_Win64)'!=''">
<Base_Win64>true</Base_Win64>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="'$(Config)'=='Debug' or '$(Cfg_1)'!=''">
<Cfg_1>true</Cfg_1>
<CfgParent>Base</CfgParent>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win32' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win32)'!=''">
<Cfg_1_Win32>true</Cfg_1_Win32>
<CfgParent>Cfg_1</CfgParent>
<Cfg_1>true</Cfg_1>
<Base>true</Base>
</PropertyGroup>
<PropertyGroup Condition="('$(Platform)'=='Win64' and '$(Cfg_1)'=='true') or '$(Cfg_1_Win64)'!=''">
<Cfg_1_Win64>true</Cfg_1_Win64>
<CfgParent>Cfg_1</CfgParent>
<Cfg_1>true</Cfg_1>
<Base>true</Base> …
Run Code Online (Sandbox Code Playgroud) project-files ×10
c++ ×2
delphi ×2
.net ×1
clojure ×1
copy-local ×1
delphi-xe2 ×1
encoding ×1
javascript ×1
performance ×1
qt ×1
reference ×1
tfs ×1
vcs-checkout ×1
visual-c++ ×1