【发布时间】:2022-02-21 03:19:03
【问题描述】:
我有问题。抱歉,如果问题标题没有被很好地识别,我无法在我的声誉期间上传全图。
编辑: 我可能需要这样的东西
https://github.com/RicoSuter/NuGetReferenceSwitcher
或
https://github.com/0UserName/NuGetSwitcher
但是上面的 repos 没有更新到 VS 2022?请帮忙?
编辑: 看起来其他人在问这个问题:https://github.com/dotnet/sdk/issues/1151
简而言之,我需要让一个类库项目只能在我这边修改/编辑。其他人只使用 DLL 引用或 Nuget 包。
我需要做什么?
- 我需要创建一个主项目,它在我身上用作公共源,而其他人用作 DLL,只是不可调试。
- 如果我选择 MSBuild 配置(调试模式)而不是 Nuget DLL,则必须查看类库项目。但我需要修改整个核心源。然后再次将其重新发布为 Nuget,以允许其他人私下使用它。
- 我猜是主项目 .csproj 文件中的全部内容。我需要修改它以允许配置在其他开发人员可见的 Nuget 构建和仅对我可见的调试之间切换。选择它时,
<ProjectReference>应该加载并应在我的解决方案中看到。 - 您可以忽略我提到的 Github 内容。一个 repo 可以是私有的/公共的,没有问题。
问题简短描述:
- 我在解决方案 A 中有主要项目。(必须对其他人公开 GIT)
- 我在解决方案 B 中有类库(可能在 2 个主要项目中使用)(必须是 GIT 私有 repo 仅供我使用)
- 我需要的类库源代码只对我自己可见,其他人看不到。他们只看到包或 DLL。
- 主要项目是公共Git repo,而类库是私有Git repo。
- 就我而言,我需要设置 2 种类型的 MSBuild 配置。 (Debug/) 和 (Nuget/)
- 其他人只允许使用私有nuget包,不得调试类库。
- 我只需要我使用 (
Debug/<ProjectReference>) -> 这样我就可以直接更改类库并为其他人构建 Nuget 包,而无需包含 PDB 文件等。
我想做什么?我阅读了哪些主题?
- 我关注我关注的主题:Use local source code of NuGet package to debug and edit code(@钱先生评论)
-
我创建了两个解决方案。 第一(FooProject可执行文件),第二(FooClassLibrary)
-
我修改 FooProject.csproj 并添加以下行
<ItemGroup Condition="'$(Configuration)' == 'Debug'"> <ProjectReference Include="..\..\FooClassLibrary\FooClassLibrary\FooClassLibrary.csproj"> <Project>{a2329af5-316e-4339-8b56-d78aba72e919}</Project> <Name>FooClassLibrary</Name> </ProjectReference> </ItemGroup> <ItemGroup Condition="'$(Configuration)' == 'Release'"> <Reference Include="FooClassLibrary"> <HintPath>..\..\FooClassLibrary\FooClassLibrary\bin\Release\FooClassLibrary.dll> </HintPath> </Reference> </ItemGroup>
编辑:
我修复了上述 .csproj 代码中的问题。现在类库引用了两个 MSBuild 配置(调试和发布)。但是我没有在Debug MSBuild的FooProject解决方案中添加Class Libray。
现在我应该创建两个解决方案 *.sln 文件吗?一个用于 FooProject 并使用 FooClassLibrary 作为 DLL 进行非修改调试? 以及将项目引用到 FooProject 的第二个 FooProject 解决方案 (FooClassDebuggingAndEdit.sln)?
这里有两个解决方案 *.rar 链接 https://anonfiles.com/rdm8A4I2x9/TwoSolutions_rar
我不知道为什么解决方案还应该引用 ClassLibrary 项目,或者在 FooProject 中执行 <ReferenceProject> 时无法修改它。调试时收到以下错误消息:
我需要改变什么吗?
【问题讨论】:
标签: c# visual-studio dll nuget visual-studio-2022