在清理我继承的项目的文件夹/文件结构的过程中,我遇到了组织所需外部库的问题.我想将它们保存在自己的.\dll\文件夹中,但它们不会被正确复制到构建目录中.它们应该位于根构建目录中,但它们将被移动到子文件夹中.
我的.csproj文件包含以下xml:
<Project>
<ItemGroup>
<None Include="dlls\libraryA.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
然后,在构建时,libraryA.dll文件被复制到bin\Debug\dll\文件夹,但我想在bin\Debug\文件夹中.
虽然可以通过NuGet消耗高达2.2的ASP.NET Core来创建共享控制器,中间件等的库项目,但是我如何创建能够使用ASP.NET Core 3.0类型的库?
对于包含视图的项目,有一个“剃刀类库”(razorclasslib)模板,如何创建仅包含逻辑组件的库?
我很困惑是否可以sdk-style .net framework在 Visual Studio 中创建一个项目(更具体地说,我使用最新的 VS2019)。还是仍然需要手动操作?
<Project Sdk="Microsoft.NET.Sdk">
Run Code Online (Sandbox Code Playgroud)
我有兴趣创建一个新项目,而不是将现有项目从旧.csproj文件样式迁移到新的.csproj sdk-style. 我已经.csproj手动编辑过很多次文件了,但是超级不方便。
当我寻找我的Web API使用的端口号的硬编码来源时,我在项目的*.csproj文件中找到了它.然而,当我在Visual Studio中的"查找结果"窗口中双击它时,它将无法打开,而且我非常了解情况," 文档'Bla*.csproj'已作为项目或解决方案打开,不能是此时在编辑中打开了. "
要看一下,我必须用Notepad ++打开它,它会告诉我我想要的东西:
<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>28642</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://localhost:28642/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>
</CustomServerUrl>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>
Run Code Online (Sandbox Code Playgroud)
......但这有点痛苦.有没有更快的方法从项目/ Visual Studio(2013)中打开.csproj文件?
是否有关于.net核心项目的csproj格式的完整文档?
我正在寻找一种在构建之前复制文件的方法.经过一番搜索,我找到了一个解决方案,但我找不到相关的文档.它会覆盖文件吗?有额外的选择,......
<Target Name="CopyMyFiles" BeforeTargets="Build">
<Copy SourceFiles="../../someFile.js" DestinationFolder="dest/" />
</Target>
Run Code Online (Sandbox Code Playgroud)
我在这里找到了.net核心的附加内容,但没有任何关于副本的内容.
这是否意味着复制是从msbuild?
目标元素在这里记录
但我没有找到任何关于副本的内容.某个地方是否有可能的任务列表?
我在使用Visual Studio Code将新文件添加到基于.csproj的项目时遇到问题.我可以手动编辑.csproj文件,但这有点麻烦.VSCode是否支持自动处理.csprojects?
我已经将xproj核心项目迁移到了csproj.一切都运行良好,但我仍然遇到发布配置问题.基于文档:https:
//docs.microsoft.com/en-us/dotnet/articles/core/tools/project-json-to-csproj我应该能够在发布期间排除文件.
我在f中添加了以下行
<None Include="*.json" CopyToPublishDirectory="Never" />
<None Include="wwwroot\**\*.map;wwwroot\**\*.less;*.pdb" CopyToPublishDirectory="Never" />
<None Include="wwwroot\**\*" CopyToPublishDirectory="PreserveNewest" />
Run Code Online (Sandbox Code Playgroud)
但仍然*.map,.json和.less文件复制到发布文件夹.我试过不同的顺序没有运气.
如何从发布中排除某些文件?
使用Visual Studio 2017中的新csproj格式,可以非常轻松地构建nuget包.事实上,在项目文件中的属性为您提供了一个gui,您可以输入所有的nuget信息,只需点击一下即可打包.
然而也有在GUI中没有选择建立一个symbols.nupkg包括源和PDB为的NuGet调试服务器.
我如何使用这项新功能在VS2017,仍然创造symbols.nupkg?
我正在使用dotnet核心csproj,我添加了一个新文件.由于约定优于配置,它最初不会被添加到csproj中.但是只要我将Build Action从None更改为Embedded资源,就会将两个条目写入csproj文件:
<None Remove="MyFile.sql" />
Run Code Online (Sandbox Code Playgroud)
和
<EmbeddedResource Include="MyFile.sql" />
Run Code Online (Sandbox Code Playgroud)
第一个条目是什么意思?这对我来说似乎是多余的.
在使用 Roslyn 分析器工作期间,我收到了来自 Roslyn 分析器的警报,该警报检查 Roslyn API 的正确使用情况。
RS1036:指定分析器禁止 API 强制设置。
包含分析器或源生成器的项目应指定属性“<EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>”。
我尝试用谷歌搜索该属性的用途,但没有找到任何其他信息。这是我已经检查过的链接:
你知道这面旗帜有什么作用吗?