相关疑难解决方法(0)

如何在MSBuild中的Exec命令中转义引号

我正在尝试构建一个MSBuild脚本,将脚本中的网络驱动器映射到驱动器号,但不幸的是,目标文件夹的路径包含一个嵌入式空间.嵌入空间导致映射失败,我不知道是否可以转义路径周围的引号.我尝试过双引号,但是MSBuild不喜欢它(要么是Windows XP不喜欢它).任何人都知道如何编码这个野兽,以便地图有效吗?

<Exec Command="net use x: \\ofmapoly703\c$\program files\ar\iap /user:$(UserID) $(Password)"
WorkingDirectory="c:\"
ContinueOnError="false"
/>
Run Code Online (Sandbox Code Playgroud)

嵌入空间当然发生在"程序文件"中.

msbuild

125
推荐指数
2
解决办法
3万
查看次数

为什么我的.NET Standard NuGet包会触发这么多依赖项?

我一直在讨论.NET Standard项目和NuGet.我有一个工作项目并已将其上传到NuGet.org.我的项目面向.NET Standard 1.3,它应该支持 .NET Framework 4.6和.NET Core 1.0.

但是当我尝试将我的项目(通过NuGet)添加到一个新的.NET Framework 4.6项目时,依赖关系解析为47个包!它们都是系统库,似乎是Microsoft.NETCore.Platforms或NETStandard.Library 1.6.1的依赖项.(完整PM输出的要点.)

我的项目只导入using了几个库,其中没有一个是我手工添加的; 即它们都是"随.NET标准附带"的库.这些库是:

  1. 系统
  2. System.Text
  3. 的System.Reflection
  4. System.Linq的
  5. System.Collections.Generic;

问题是,我决定让我的项目成为.NET Standard,因为我希望它能够跨.NET Framework和.NET Core应用程序无缝地工作.我认为标准的重点是设置最低级别的兼容性.通过扩展,我想我曾(或许是错误地)假设像System.Console这样的库可以在Core或Framework中自动使用.

当我在同一个解决方案中测试我的Standard项目作为Framework和Core项目中的依赖项时,我没有注意到这样的事情,所以我怀疑这可能是一个NuGet的事情.

这里到底发生了什么?如何在没有大量依赖项的情况下在NuGet上提供我的.NET标准库?

这是我指定我的NuGet包的方式有问题吗?或者我从根本上误解了什么?

.net nuget .net-standard

48
推荐指数
2
解决办法
5316
查看次数

在Visual Studio中发布事件之后

我试图在发布事件后调用简单的任务.当我说"发布"时,我的意思是在Visual Studio中发布,右键单击项目并按"发布...".我在项目文件中包含了(导入的)目标文件,因为我已经在Build事件上测试了它,所以工作正常.我在http://msdn.microsoft.com/en-us/library/ms366724.aspx上发现有AfterPublish事件应该做我需要的事情,但事实并非如此.我不确定这是否应该在Visual Studio中的Publish上触发,有人请澄清这一点.我的问题是如何在Visual Studio中的Publish上触发目标文件中的任何类型的任务?

我在目标文件中尝试了这个:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="AfterPublish">
        <Message Label="Test"></Message>        
        <Warning Label="Test"></Warning>
    </Target>   
</Project>
Run Code Online (Sandbox Code Playgroud)

我正在使用Visual Studio 2010.

编辑:

我实际上正在寻找在Visual Studio中的Publish上执行某些操作的任何方法.我还在考虑添加Build Events,但我不知道如何确定它是否正在发布.

编辑:@Alexey Shcherbak感谢您的快速回复.我在我的MSBuild输出中得到这个:

12/10/2012 12:29:40 AM:        Done executing task "CallTarget".
12/10/2012 12:29:40 AM:        Done building target "PipelinePreDeployCopyAllFilesToOneFolder" in project "PublishTestApp.csproj".
12/10/2012 12:29:40 AM:Done building project "PublishTestApp.csproj".
Deleting existing files...
Publishing folder /...
Publishing folder Account...
Publishing folder bin...
Publishing folder Scripts...
Publishing folder Styles...
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
========== Publish: …
Run Code Online (Sandbox Code Playgroud)

deployment msbuild publish visual-studio-2010 visual-studio

26
推荐指数
3
解决办法
3万
查看次数

使用MSBuild/Web Deployment Project启动程序而不是等待它

在部署发生之后,我希望资源管理器在某个文件夹上打开,我正在使用以下内容来尝试它:

<Target Name="AfterBuild">
  <Exec Command="..."></Exec>
</Target>
Run Code Online (Sandbox Code Playgroud)

但是,一个简单的"资源管理器\某处"会导致构建过程在资源管理器上阻塞,直到您关闭资源管理器才会完成.对它进行前缀start explorer \\somewhere也不会改变它.

有一个简单的方法吗?事情是我们只部署到一个中间阶段,并希望手动完成最后一步,并在相关文件夹上打开一个资源管理器是一个很好的.Exec命令实际上调​​用BAT文件,如果这很重要,使用VS.NET 2008,在Server 2008 Standard上.

msbuild

6
推荐指数
1
解决办法
1988
查看次数

如何使用“Blank Node.js”模板在 Visual Studio 2019 中调试 React 应用程序

我遵循了这篇文章中概述步骤,并成功地从“Blank Node.js Web Application”在 Visual Studio 中创建了一个 React 应用程序。

除了从 VS 调试外,一切正常!

我也在这里关注了这篇微软文章,它准确地描述了我想要做什么!!!- 它会引导您完成“如何使用节点 Web 应用程序模板在 Visual Studio 中设置 React 应用程序”。在那篇文章中,他们显示调试工作正常,但对我不起作用。

我正在使用标准的 npm 命令在 Visual Studio 解决方案目录中创建一个应用程序。我为自己创建了一个批处理文件,它为我完成了繁重的工作。

npx create-react-app ssm-app --typescript
Run Code Online (Sandbox Code Playgroud)

此时,一切正常,我什至可以从 VS 内部与 NPM 包进行交互。

在此处输入图片说明

我什至在 Visual Studio 中安装了NPM Task Runner,它允许您从 package.json 运行命令(例如开始)。

在此处输入图片说明

除了从 Visual Studio 内部调试外,一切正常!

然后我尝试在 VS 中连接“开始调试”按钮以将npm start命令附加到它。

在此处输入图片说明

我通过找到这篇关于如何扩展构建过程的Microsoft 文章来添加。我将以下代码添加到项目文件中,该文件可以为我调用 npm start。

  </ProjectExtensions>
    <Target Name="AfterBuild">
         <Exec Condition="'$(EnableTypeScript)' …
Run Code Online (Sandbox Code Playgroud)

visual-studio node.js reactjs visual-studio-2019

4
推荐指数
1
解决办法
3501
查看次数