我必须承认,我总是忘记Nant命名模式的语法内部(例如文件集中使用的那些).在我看来,双星号/单星号的东西似乎是非常容易忘记的.
有人可以提供命名模式的权威指南吗?
每次我必须将一个文件作为链接链接到一个ASP.NET项目时,总会有一些我忘记做的事情,因为Visual Studio太过错误并且很烦人.它有一个错误/限制因此它不会将文件复制到Debug输出文件夹中,我们必须更改文件的属性,以便将其复制到Publish输出文件夹中.
经过大量研究后,我通过艰难的方式学到了这一点,并创建了一个AfterBuild目标,以帮助简化此过程.但是,添加文件时仍有一些手动工作要做.
这是我维护的项目的示例.假设我们要在ASP.NET项目的"utilities"文件夹中添加文件YIUCARD.
1)右键单击Visual Studio上的"utilities"文件夹,然后选择"添加 - >现有项".

2)选择要添加的文件,单击它(不要双击).

3)单击"添加"按钮旁边的箭头,然后选择"添加为链接".

目前,这将无所作为.该文件不会被复制到任何文件夹(调试和发布).它刚刚添加到项目中.
4)在文件中单击鼠标右键,然后打开"属性".

5)更改:"构建操作"到"内容""复制到输出目录"到"始终复制"

此时,文件将被复制到Publish输出文件夹(我们在发布时定义的任何位置).但是,当我们在本地调试(F5)时,它将无法工作,因为该文件未复制到代码库上的本地"utilities"文件夹中.
6)选择"全部保存",在Visual Studio上保存更改.这样就可以保存".csproj"文件,因为我们对其进行了更改,现在我们将手动编辑它.

7)在Notepad ++中打开".csproj".

8)将文件添加到"BeforeBuild"事件(这是我的):

<Target Name="BeforeBuild">
<ItemGroup>
<UtilitiesFiles Include="..\path\to\file\REDOPXX.NEW" />
<UtilitiesFiles Include="..\path\to\file\REDFMTST" />
<UtilitiesFiles Include="..\path\to\file\JOBCARD" />
<UtilitiesFiles Include="..\path\to\file\YIUCARD" />
</ItemGroup>
<Copy SourceFiles="@(UtilitiesFiles)" DestinationFolder=".\utilities" SkipUnchangedFiles="true" />
</Target>
Run Code Online (Sandbox Code Playgroud)
9)我有一个Release模式的"AfterBuild"事件,它会自动为我发布项目,以便文件直接进入我想要的输出文件夹:
<Target Name="AfterBuild" Condition=" '$(Configuration)' == 'Release' ">
<PropertyGroup>
<OutputDir>..\path\to\publish\MyProject</OutputDir>
</PropertyGroup>
<Message Importance="High" Text="Output DIR: $(OutputDir)" />
<RemoveDir Directories="$(OutputDir)" ContinueOnError="true" />
<MSBuild Projects="MyProject.csproj" Properties="Configuration=$(Configuration);WebProjectOutputDir=$(OutputDir);OutDir=$(OutputDir)bin\" Targets="ResolveReferences;_CopyWebApplication" />
</Target>
Run Code Online (Sandbox Code Playgroud)
10)将文件保存在Notepad ++中并在Visual Studio上重新加载.

构建项目时,该文件将被复制到Debug和Release/Publish文件夹中!
但是,我想知道是否有更简单/直观的方法来做到这一点.
您可以说这可以通过将Debug输出文件夹更改为Release/Publish文件夹来修复,以便在我第一次发布后文件就在那里.但是,请注意,这也有一个错误.如果我使用"bin"以外的输出文件夹,aspx文件会抱怨他们找不到程序集.即使我将"复制到输出目录"设置为"始终复制",它也会抱怨无法找到"Global.asax.cs".
请看这些相关问题:
分析器错误消息:无法加载类型'TestMvcApplication.MvcApplication'
"无法加载类型[Namespace] .Global"让我感到悲伤
这是在较新版本的Visual Studio中修复/改进的吗?
我正在使用Sublime Text一段时间,它完美无缺!但是在我的新工作中他们使用的是Visual Studio,有一些插件和快捷方式的改变,我现在能够更快地工作但我更喜欢Sublime Text.
为什么我在工作中坚持使用Visual Studio是因为有三件事:
1. TFS:Team Foundation Server
我发现了Sublime TFS插件,我还没有测试过,但我认为它和我不喜欢的Sublime SVN插件一样(在结账时没有状态,只是等到它完成).对于SVN,我使用的是TortoiseSVN,效果很好.是否有类似TortoiseSVN的TFS?
2.解决方案
如果我浏览到计算机上的解决方案/产品文件夹,添加一个新文件并返回Visual Studio我将该文件包含在解决方案/项目中.我习惯于排除我不喜欢在项目中使用的文件而不是include.有可能改变这个吗?
3.构建系统
每次改变之后我都要建造.我不得不保存(F5)并转到我的浏览器(ALT-TAB),每次更改后自动刷新,我必须保存(F5),构建(SHIFT-F6),转到我的浏览器(ALT-TAB)并刷新(F5)使用Visual Studio.我现在非常方便,但我认为这可以更轻松.那么保存后可以自动构建吗?
我到目前为止所做的是在Google上搜索.我发现了一些有趣的东西,但没有任何内容涵盖这三件事.例如; 这里是构建系统的简单教程.我希望有人可以帮我解决这个问题,所以我可以向Visual Studio说再见,然后带着爱回归Sublime Text.
msbuild tfs projects-and-solutions visual-studio sublimetext2
我有一个工具,可以动态 生成 .xaml和.xaml.cs文件,并将它们放在适当的Visual Studio 目录中.
要将它们添加到项目中,我必须:
有没有办法让我告诉项目"包括硬盘上项目文件夹下的所有现有项目"?
我是新来的.我将其设置为在我的项目中的文件夹中预处理一些javascript.任务完成后,将创建新的缩小文件,但它们不会自动包含在我的Visual Studio项目中.
如何自动将这些添加到我的项目中?我是否必须手动添加由gulp或其他预处理器创建的文件?
我想使用sublime来编辑visual studio项目.我有一个自定义构建:
{
"cmd": ["c:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\MSBuild.exe"],
"working_dir": "${project_path:${folder:${file_path}}}/../Project"
}
Run Code Online (Sandbox Code Playgroud)
但是如果我添加新文件,我还需要将它们包含在项目中.
有没有办法从命令行执行此操作,可能是在编译时?
我正在使用c ++使用opengl;
我基本上使用opengl网站上提供的一个示例来设置项目.
然后我以sublime文本打开项目文件夹,并使用自定义构建系统成功编译它.
但是,当我将新的源文件添加到项目(*.h和*.cpp)时,我收到链接错误.
当我在visual studio中构建时,我得到了同样的错误.
通过手动浏览并将其添加到项目中来包含文件后,错误消失了.
我想要的是一种自动将文件夹中的所有源文件添加到项目中的方法(通过命令行,或通配符或其他方式).
通过这种方式,我可以轻松地在sublime中处理vs2010项目,添加新的源文件并构建项目.
或者可能已经有了更好的工作流程?
ant ×1
asp.net ×1
c# ×1
command-line ×1
gulp ×1
msbuild ×1
nant ×1
sublimetext2 ×1
tfs ×1
windows ×1